4

自動ホットキーを使用して自動化プロセスを実行しています。

chrome.exeを閉じるのに助けが必要です

私は試した

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

しかし、もう一度起動すると、Chromeがクラッシュするというエラーが発生します。

ありがとう

4

3 に答える 3

7

WinCloseプロセスを強制終了するのではなく、ウィンドウにクローズメッセージを送信するために使用します。

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

mihaiの役立つ回答は、単一のChromeウィンドウ(通常は複数のタブを含む)が開いている場合にうまく機能します。

ただし、開いているすべての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ドキュメントでは、 「やや力強い」WinCloseというメッセージの使用を使用して呼び出し、次の代替案を提案していることに注意してください。これは、ウィンドウメニューの項目を押すまたは使用するユーザーアクションを模倣しています。WM_CLOSEPostMessageAlt-F4Close

; 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 に答える