Google chrome vbs安静优雅的taskkill all chrome进程

Google chrome vbs安静优雅的taskkill all chrome进程,google-chrome,vbscript,Google Chrome,Vbscript,是否有任何方法可用于此代码: Dim oShell Set oShell = WScript.CreateObject ("WScript.Shell") oShell.Run "taskkill /im chrome.exe", 0, True 我希望它关闭所有正在运行的chrome实例,而不是像这个脚本那样只关闭一个chrome窗口 如果有一种简单的方法可以关闭chrome的所有窗口,而不使用此代码进行循环,那将是完美的 我已经尝试了所有其他方法,但它们要么没有优雅地关闭,(终止),要么显

是否有任何方法可用于此代码:

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.Run "taskkill /im chrome.exe", 0, True
我希望它关闭所有正在运行的chrome实例,而不是像这个脚本那样只关闭一个chrome窗口

如果有一种简单的方法可以关闭chrome的所有窗口,而不使用此代码进行循环,那将是完美的

我已经尝试了所有其他方法,但它们要么没有优雅地关闭,(终止),要么显示了某种命令提示符或加载条

如果没有循环就没有办法做到这一点,那就这样吧


谢谢大家!

我们可以使用WMI服务执行此操作。我们可以计算所有正在运行的chrome实例,然后一个接一个地无声地杀死它

希望这有帮助。它涉及循环

Dim oShell, objWMIService, objProcess, colProcess, strComputer, processName,instances

strComputer = "."
instances = 0
processName = "chrome.exe"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objProcess in colProcess
If objProcess.Name = processName Then instances = instances + 1        'Incrementing Running Instances
Next

Set oShell = WScript.CreateObject ("WScript.Shell")

Do While instances > 0
oShell.Run "taskkill /im chrome.exe", 0, True       'Killing one instance at a time
instances = instances - 1
Loop

不需要为每个执行此角色的进行实例计数。它需要遍历任务列表中的所有流程,检查您在查询中提供的流程名称,然后以您喜欢的方式处理该流程。如果要终止此进程,请使用
Terminate
方法,此方法更容易终止一个进程名称的多个实例

Dim objWMIService, objProcess, colProcess, strComputer

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process where name= 'chrome.exe'")

For Each objProcess in colProcess

objProcess.terminate()

Next
WScript.quit
查询样式的短距离:

Dim Processes,Process
Set Processes = GetObject("winmgmts:").InstancesOf("Win32_Process")

For Each Process In Processes

    If StrComp(Process.Name, "chrome.exe", vbTextCompare) = 0 Then
       Process.Terminate()
    End If

Next

WScript.Quit

Dim Processes,Process
Set Processes = GetObject("winmgmts:").InstancesOf("Win32_Process")

For Each Process In Processes

    If Instr( 1, process.Name, "chrome", vbTextCompare ) > 0 Then
       Process.Terminate()
    End If

Next

WScript.Quit

我使用下面的代码,它类似于Alt+F4

oShell.SendKeys "%{F4}"
您必须确保chrome是活动窗口