【问题标题】:VBS: Terminate multiple running applicationsVBS:终止多个正在运行的应用程序
【发布时间】:2013-04-05 14:21:11
【问题描述】:

我正在尝试使用以下 VBS 脚本同时关闭多个应用程序,但在 For Each 循环行上收到错误 0x80041017。它只适用于一个应用程序,但我添加了另一个以终止

strComputer = "."
strProcessToKill1 = "Acrobat.exe" 
strProcessToKill2 = "iexplore.exe" 

Set objWMIService = GetObject("winmgmts:" _
                & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colProcess = objWMIService.ExecQuery _
                ("Select * from Win32_Process Where Name = '" & strProcessToKill1 & "' or '" & strProcessToKill2 & "'")


count = 0
For Each objProcess in colProcess
                objProcess.Terminate()
                count = count + 1
Next 

【问题讨论】:

    标签: vba vbscript


    【解决方案1】:

    您的 WMI 查询无效,导致循环失败。您需要为 WHERE 子句的后半部分指定列 (Name)。我还将删除 objProcess.Terminate 调用的括号。

    strComputer = "."
    strProcessToKill1 = "Acrobat.exe" 
    strProcessToKill2 = "iexplore.exe" 
    
    Set objWMIService = GetObject("winmgmts:" _
                    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    
    Set colProcess = objWMIService.ExecQuery _
                    ("Select * from Win32_Process Where Name = '" & strProcessToKill1 & "' OR Name = '" & strProcessToKill2 & "'")
    
    
    count = 0
    For Each objProcess in colProcess
                    objProcess.Terminate
                    count = count + 1
    Next 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-30
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多