批处理或者vbs编写一个判断进程是否存在的代码

如果进程存在就结束它,如果不存在就从指定目录启动程序~最后要达到的效果就是运行这个批处理(或者vbs)就启动应用程序,再次运行就关闭这个程序~~最好运行的时候不要出现黑框... 如果进程存在就结束它,如果不存在就从指定目录启动程序~
最后要达到的效果就是运行这个批处理(或者vbs)就启动应用程序,再次运行就关闭这个程序~~最好运行的时候不要出现黑框
就高手指点!!
展开
 我来答
xxpinqz
2013-03-25 · TA获得超过1322个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:1311万
展开全部
CreateObject("WScript.Shell").Run "cmd /c hidecmd.bat",0
上面一行保存为VBS文件,运行此vbs文件即可不出黑框。两个文件保存在同一目录下
如果要在不同路径调用,请自行更改vbs中的hidecmd.bat
下面代码保存为hidecmd.bat(vbs中定义的文件名)文件
@echo off
set "name=notepad.exe"
::上行定义进程名称
set "str_path=C:\Windows\System32\"
::上行定义进程路径
tasklist /svc|find "%name%"&&taskkill /f /im %name% /t||start "" "%str_path%%name%"
exit /b
追问
那可以直接改成VBS的方式吗
SIR007_001
2013-03-25 · TA获得超过555个赞
知道小有建树答主
回答量:464
采纳率:66%
帮助的人:411万
展开全部
vbs 脚本内容如下:

set shell=createobject("wscript.shell")
set wshshell=wscript.createobject("wscript.shell")
set http=createobject("Microsoft.XMLHTTP")
a=0
Wscript.Sleep 1000
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
if ps.name ="notepad.exe" then a=a+1
next
if a=0 then
wshshell.popup "记事本 没有启动",1,"提示",4144
shell.run ("notepad")
end if
if a>=1 then
wshshell.popup "记事本 已经启动",1,"提示",4144
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
if ps.name ="notepad.exe" then
shell.run "taskkill /F /IM notepad.exe",0
end if
next
end if
追问
可以运行,太强大了,就是我要换成其他路径的程序怎么办?我对这个不了解~~求给说明,像“for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_”什么意思呢?
追答
要换成其他路径的程序
shell.run ("notepad") ,将"notepad"更换成你的程序路径和名称
“for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_”什么意思
例遍整个正在使用的进程
http://baike.baidu.com/view/442461.htm
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式