如何用VBS 实现打开程序1时关闭程序2 当关闭程序1时又打开程序2

如何用VBS 实现打开程序1时关闭程序2 当关闭程序1时又打开程序2,第1张

a="notepadexe"

b="c:\windows\system32\calcexe"

'

Dim WS,FSO,bName

Set WS = CreateObject("WScriptShell")

Set FSO = CreateObject("ScriptingFileSystemObject")

Set wmi=GetObject("winmgmts:\\\root\CIMV2")

bName=FSOGetFileName(b)

Do

   Set w=wmiExecQuery("select  from win32_Process where name='" & a & "'")

   If wcount<>0 Then

      set w=wmiexecquery("select  from win32_process where name='" & bName & "'")

      For each i in w

         iterminate()

      Next

   Else

      Set w=wmiExecQuery("select  from win32_Process where name='" & bName & "'")

      If wcount=0 Then

         WSRun b

      End If

   End If

   

   WScriptSleep 50

Loop

' 说明:

' 1、上面例子中A程序是记事本,B程序是计算器

' 2、A程序用程序名称

' 3、B程序用程序路径,若路径中含有空格请使用短路径,否则出错

' 4、程序不会自动退出,也不会d出任何提示窗口,结束进程名:wscriptexe

Dim WMI,W,AppNameArr,WS,FolderPath

Set WMI=getobject("winmgmts:\\\root\cimv2")

set WS=CreateObject("WScriptShell")

' 变量定义

AppNameArr=Split("1exe|2exe|3exe|4exe|5exe|6exe|7exe|8exe|aexe|bexe|cexe|dexe|eexe|fexe|gexe|hexe|iexe|jexe|","|")

FolderPath="D:\"

' 结束进程

For j=0 To UBound(AppNameArr)

   set W=WMIexecquery("select  from win32_process where name='" & AppNameArr(j) & "'")

   for each i in W

      iterminate()

   Next

Next

' 运行程序

For i=0 To UBound(AppNameArr)

   WScriptSleep 3000

   WSRun folderpath & AppNameArr(i)

Next

WScriptSleep 3000

WSRun folderpath & "123vbs"

' 说明:

' 1、程序名称在AppNameArr中增减

' 2、路径不能含有空格

vbs最基本的d出窗口代码 : 因为这是一段javascript代码,所以它们应该放在 之间。 是对一些版本低的浏览器起作用,在这些老浏览器中如果不支持javascript,不会将标签中的代码作 为文本显示出来。 Windowopen ('pagehtml')用于控制d出新的窗口pagehtml,如果pagehtml不与主窗口在同一路径下,前面 应写明路径,绝对路径(>

Set WshSHell = WScriptCreateObject("WScriptShell")

strComputer = ""

Set wbemServices = Getobject("winmgmts:\\" & strComputer)

Set wbemObjectSet = wbemServicesexecquery("select from Win32_Process where caption='iexploreexe'")

Do While wbemobjectsetcount <> 0

WScriptSleep 10000

Set wbemObjectSet = wbemServicesexecquery("select from Win32_Process where caption='iexploreexe'")

Loop

x=inputbox("请选择要运行的程序:" & chr(13) & "1QQ;2记事本","运行程序","1")

if len(x)=0 then

wscriptquit

Else

Select Case x

Case 1

WShshellRun ("""D:\Program Files\Tencent\QQ2009\Bin\QQexe""")

Case 2

WShshellRun ("notepadexe")

Case else

msgbox "选择错误,脚本退出!",64,"错误"

End Select

End if

pro="c:\windows\system32\notepadexe"'要打开的程序,写完整路径

n=split(pro,"\")

name=n(ubound(n))

for each ps in getobject("winmgmts:\\\root\cimv2:win32_process")instances_

s=s&sep&psname:sep="|":next

s=split(s,"|")

for i=0 to ubound(s)

if name=s(i) then wscriptquit

next

createobject("wscriptshell")run pro

你定义多个excel对象 按顺序给对象初始化 然后第一个对象open具体的文档文件,因为单线程所以会等待open命令结束 才执行下一句代码 如果还不放心 可在open语句后加一个延时代码 然后再用第二个对象打开第二个文档

以上就是关于如何用VBS 实现打开程序1时关闭程序2 当关闭程序1时又打开程序2全部的内容,包括:如何用VBS 实现打开程序1时关闭程序2 当关闭程序1时又打开程序2、VBS快速结束20个进程 并重新打开程序、vbs怎么同时打开多个位置不一样的对话框等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9742944.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存