[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] start命令调用wmplayer.exe引出来的一系列问题

我想用start命令调用wmplayer.exe播放指定的声音文件,wmplayer.exe就是系统自带的播放器,目的是让wmplayer.exe播放时在后台运行。我用的方法如下:
start /min "" wmplayer.exe "c:\path\sound.wav"
1.运行上面代码发现一个问题:当在代码运行之前进程里没有wmplayer.exe时,运行正常,wmplayer.exe在后台运行,顺利地播放声音文件,播放完之后也不弹出界面(没有退出,还停留在进程里)。当第二次运行代码时,此时进程里已有wmplayer.exe了,wmplayer.exe播放时就变成前台运行。请问这是为什么?我也没搞懂为什么这样写代码就可以让wmplayer.exe在后台运行,自己胡乱写出来的。
2.我想到在代码前加一句结束进程里停留的wmplayer.exe的代码。
方法a:tasklist|find/i "wmplayer.exe"&&taskkill"imagename eq wmlayer.exe"
结果:与没有加一样;这是为什么?taskkill明明能杀wmplayer.exe,但就是没有用?
方法b:tasklist|find/i "wmplayer.exe"&&ntsd -c q -pn wmlayer.exe
结果:效果不错,wmplayer.exe始终在后台播放。同时也发现了一个缺点,ntsd会调用另一个命令窗口,虽然只是一瞬间跳出来就结束了,但毕竟碍眼,有没有办法屏蔽,或者不让它出现。尝试许多办法没有实现。

希望大侠指点迷津,在此先谢过!

[ 本帖最后由 pumahxh 于 2009-12-18 15:13 编辑 ]

回复2楼

你说的直接杀进程我方法a里已经试过了,没有用,在第二次运行时就会跳出播放器,不信你试试!

补充:原帖笔误:“方法a:tasklist|find/i "wmplayer.exe"&&tasklist "imagename eq wmlayer.exe"
结果:与没有加一样;这是为什么?taskkill明明能杀wmplayer.exe,但就是没有用?”
应该是:tasklist|find/i "wmplayer.exe"&&taskkill "imagename eq wmlayer.exe"
已在楼顶修改

TOP

谢谢楼上提醒!已改!

TOP

返回列表