如何用VBS 实现打开程序1时关闭程序2 当关闭程序1时又打开程序2
如何用VBS实现打开程序A时自动关闭程序B当关闭程序A时又打开程序B求大师帮忙不胜感激在不关掉A程序时B程序也可以关掉...
如何用VBS 实现打开程序A时自动关闭程序B 当关闭程序A时又打开程序B
求大师帮忙 不胜感激
在不关掉A程序时B程序也可以关掉 展开
求大师帮忙 不胜感激
在不关掉A程序时B程序也可以关掉 展开
展开全部
a="notepad.exe"
b="c:\windows\system32\calc.exe"
'
Dim WS,FSO,bName
Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set wmi=GetObject("winmgmts:\\.\root\CIMV2")
bName=FSO.GetFileName(b)
Do
Set w=wmi.ExecQuery("select * from win32_Process where name='" & a & "'")
If w.count<>0 Then
set w=wmi.execquery("select * from win32_process where name='" & bName & "'")
For each i in w
i.terminate()
Next
Else
Set w=wmi.ExecQuery("select * from win32_Process where name='" & bName & "'")
If w.count=0 Then
WS.Run b
End If
End If
WScript.Sleep 50
Loop
' 说明:
' 1、上面例子中A程序是记事本,B程序是计算器
' 2、A程序用程序名称
' 3、B程序用程序路径,若路径中含有空格请使用短路径,否则出错
' 4、程序不会自动退出,也不会弹出任何提示窗口,结束进程名:wscript.exe
更多追问追答
追问
非常感谢xiaowangzixy老师,我试了一下,可以实现,但是打开这个vbs以后B程序就关不了了,能否在不关掉A程序时B程序也可以关掉
追答
a="notepad.exe"
b="c:\windows\system32\calc.exe"
'
Dim WS,FSO,bName,IsRun
Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set wmi=GetObject("winmgmts:\\.\root\CIMV2")
bName=FSO.GetFileName(b)
IsRun=0
Do
Set w=wmi.ExecQuery("select * from win32_Process where name='" & a & "'")
If w.count<>0 Then
IsRun=0
set w=wmi.execquery("select * from win32_process where name='" & bName & "'")
For each i in w
i.terminate()
Next
Else
Set w=wmi.ExecQuery("select * from win32_Process where name='" & bName & "'")
If w.count=0 And IsRun=0 Then
IsRun=1
WS.Run b
End If
End If
WScript.Sleep 50
Loop
' 说明:
' 1、上面例子中A程序是记事本,B程序是计算器
' 2、A程序用程序名称
' 3、B程序用程序路径,若路径中含有空格请使用短路径,否则出错
' 4、程序不会自动退出,也不会弹出任何提示窗口,结束进程名:wscript.exe
' 5、A程序关闭之后仅启动一次B程序,即:若手动关闭B程序将不再运行B
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询