4

我正在使用 autohotkey 来执行一些自动化过程。

我需要有关关闭 chrome.exe 的帮助

我试过了

        Process, Close,  chrome.exe
;    or
        Run taskkill /im chrome.exe

但是当我再次启动它时,它给了我 chrome crashed 错误。

谢谢

4

3 回答 3

7

用于WinClose向窗口发送关闭消息,而不是终止进程:

SetTitleMatchMode 2
WinClose Google Chrome
于 2012-12-31T21:22:51.240 回答
0

如果单个Chrome 窗口(通常包含多个选项卡)打开,mihai 的有用答案效果很好。

但是,如果要关闭所有打开的 Chrome 窗口,则需要做更多工作:

; Get all hWnds (window IDs) created by chrome.exe processes.
WinGet hWnds, List, ahk_exe chrome.exe

; Loop over all hWnds and close them.
Loop, %hWnds%
{
  hWnd := % hWnds%A_Index% ; get next hWnd
  WinClose, ahk_id %hWnd%
}

另请注意,WinClose文档调用 usingWinCloseWM_CLOSE消息“有些强制”的使用,并建议以下PostMessage替代方法,它模仿用户按下Alt-F4或使用 Window 菜单Close项的操作:

; Get all hWnds (window IDs) created by chrome.exe processes.
WinGet hWnds, List, ahk_exe chrome.exe

; Loop over all hWnds and close them.
Loop, %hWnds%
{
  hWnd := % hWnds%A_Index% ; get next hWnd
  PostMessage, 0x112, 0xF060,,, ahk_id %hWnd%
}
于 2016-12-07T23:31:25.060 回答
0

这是“软关闭”特定流程的功能:

CloseAllInstances( exename )
{
    WinGet LhWnd, List, % "ahk_exe " exename
    Loop, %LhWnd%
        PostMessage, 0x112, 0xF060,,, % "ahk_id " LhWnd%A_Index%
}

因此,您只需调用以下行即可关闭所有 chrome 实例:

CloseAllInstances( "chrome.exe" )
于 2018-06-04T23:53:29.320 回答