Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何编写vbscript,该脚本将持续检查应用程序是否未运行,并停止检查应用程序是否正在运行_Loops_Vbscript - Fatal编程技术网

Loops 如何编写vbscript,该脚本将持续检查应用程序是否未运行,并停止检查应用程序是否正在运行

Loops 如何编写vbscript,该脚本将持续检查应用程序是否未运行,并停止检查应用程序是否正在运行,loops,vbscript,Loops,Vbscript,我目前是学习vbscript代码的初学者。我希望此代码在后台以静默方式运行批处理文件,然后检查进程“DesktopHut.exe”是否正在运行,它将WshShell.AppActivate Desktop.exe并将其最小化。如果“DesktopHut.exe”未运行。我希望代码循环检查,直到它运行。基本上,这是我的代码: Dim i Dim strComputer Dim FindProc Set WshShell = CreateObject("WScript.Shell&quo

我目前是学习vbscript代码的初学者。我希望此代码在后台以静默方式运行批处理文件,然后检查进程“DesktopHut.exe”是否正在运行,它将WshShell.AppActivate Desktop.exe并将其最小化。如果“DesktopHut.exe”未运行。我希望代码循环检查,直到它运行。基本上,这是我的代码:

Dim i
Dim strComputer
Dim FindProc

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Users\Vincent Buenaventura\Documents\Visualizer On and Off Bat\Visualizer ON" & Chr(34), 0

strComputer = "."

FindProc = "DesktopHut.exe"

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select Name from Win32_Process WHERE Name LIKE '" & FindProc & "%'")

Do Until colProcessList.count>0
WshShell.AppActivate("DesktopHut.com App For Live Wallpaper")
WshShell.SendKeys "% n"    
loop

Set Wshell = nothing
WScript.Quit
它以某种方式工作,但循环根本不会结束。如果有人能帮我修改上面的代码,那将是我的荣幸。我正在研究我所能做的一切,只是为了替换这段代码,因为我的电脑并不总是按时运行应用程序,所以它最终不会最小化应用程序。每次我启动电脑都有点烦

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Users\Vincent Buenaventura\Documents\Visualizer On and Off Bat\Visualizer ON" & Chr(34), 0
WScript.Sleep 2000
WshShell.AppActivate("DesktopHut.com App For Live Wallpaper")
WshShell.SendKeys "% n"
Set Wshell = nothing
WScript.Quit
快速补充说明:我知道有关于DesktopHut有病毒的新闻,但当我在自己的电脑上进行研究和测试时,“病毒”似乎只适用于Windows 10上非常更新的DesktopHut版本


我当前运行的是Windows 8.1单语言。

我将使用以下VBScript:

   Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Users\Vincent Buenaventura\Documents\Visualizer On and Off Bat\Visualizer ON" & Chr(34)
   sComputerName = "."
   Set objWMIService = GetObject("winmgmts:\\" & sComputerName & "\root\cimv2")
   sQuery = "SELECT * FROM Win32_Process"
   Set objItems = objWMIService.ExecQuery(sQuery)
   For Each objItem In objItems
     If objItem.Name == "DesktopHut.exe" Then
       WshShell.AppActivate "DesktopHut.com App For Live Wallpaper"
        Wscript.Sleep 2000
        WshShell.SendKeys "%n"
     End If
   Next

我已删除[]标记。您正在运行的文件类型与您的问题无关,具体到[]我尝试运行该代码,但它似乎没有运行WshShell.AppActivate“DesktopHut.com应用程序For Live Wallpaper”Wscript.Sleep 2000 WshShell.SendKeys“%n”我希望它循环查找,直到找到正在运行的应用程序,然后它会执行,但它似乎不起作用。你能不能解释一下代码,因为我真的很难理解(