もう既に解決していらっしゃる様な雰囲気ですが、解決済みにされていないので VBScript で一例として回答します。
ブラウザが手動で閉じられた時を再現していますので、次回の Windows 起動時にはブラウザからのメッセージ等は表示されないと思います。
以下ソースコードなので、試してみる場合には全てをコピーしてください。
但し、別途 Win32API のラッパープログラムである \u0026quot;SFC mini\u0026quot; のインストールが必要になります。
' ////////////////////////////////////////////////////////////////////////
' このプログラムは google Chrome ブラウザウィンドウの右上Xボタンを
' 押した時と同じ状態でウィンドウを閉じた後に高速スタートアップ様式で
' Windows をシャットダウンする VBScript です。
' ウィンドウ操作のため、本スクリプトの動作には別途 Win32API の
' ラッパープログラムである \u0026quot;SFC mini\u0026quot; のインストールが必要です。
' 2025年現在、ベクターから入手可能です。
' https://www.vector.co.jp/download/file/winnt/prog/fh652422.html
' 開発・動作テスト環境:Windows10 32bit, SFC mini インストール済み
' ////////////////////////////////////////////////////////////////////////
Option Explicit
Dim EnumWindows
Declare EnumWindows, \u0026quot;user32\u0026quot;, \u0026quot;EnumWindows\u0026quot;
Dim IsWindowVisible
Declare IsWindowVisible, \u0026quot;user32\u0026quot;, \u0026quot;IsWindowVisible\u0026quot;
Dim GetWindowText
Declare GetWindowText, \u0026quot;user32\u0026quot;, \u0026quot;GetWindowTextA\u0026quot;
Dim SendMessage
Declare SendMessage, \u0026quot;user32\u0026quot;, \u0026quot;SendMessage\u0026quot;
Dim objWin32
' Declare ステートメントを有効にして Win32API を呼び出す
Private Sub Declare(objWin32, Library, FunctionName)
Set objWin32 = WScript.CreateObject(\u0026quot;SfcMini.DynaCall\u0026quot;)
objWin32.Declare Library, FunctionName
End Sub
' Crome ブラウザーの終了を待ってからシャットダウン
If EnumerationOfTheWindows() = 0 Then
Call FastStartup_ShutDown()
End If
'----------------------------------------
' ウィンドウの列挙
Private Function EnumerationOfTheWindows()
Dim clsCallback
Set clsCallback = New EnumWindowsProc
Call EnumWindows(EnumWindows.CallBack(clsCallback, 2), 0)
EnumerationOfTheWindows = clsCallback.lngResult
Set clsCallback = Nothing
End Function
'----------------------------------------
' EnumWindows 関数のコールバッククラス
Class EnumWindowsProc
Public lngResult
Public Function CallBack(hWnd, lParam)
' 可視ウィンドウの判定
If IsWindowVisible(hWnd) = 1 Then
' ウィンドウタイトルを取得
Dim strWindowText
strWindowText = Space(256)
If GetWindowText(hWnd, strWindowText, 256) \u0026gt; 1 Then
strWindowText = _
left(strWindowText, InStr(strWindowText, vbNullChar) -1)
' google Chrome なら hWnd 宛てにクローズメッセージを送信
Const strProgramName = \u0026quot;google Chrome\u0026quot;
If InStr(strWindowText, strProgramName) \u0026gt; 1 Then
Const WM_CLOSE = 16 ' 0x0010
lngResult = SendMessage(hWnd, WM_CLOSE, 0, 0)
End If
End If
End If
CallBack = 1
End Function
Private Sub Class_Terminate()
Set objWin32 = Nothing
End Sub
End Class
'------------------------------------------------------
'高速スタートアップ様式でパソコンをシャットダウンする
Private Sub FastStartup_ShutDown()
Dim objWshShell
Set objWshShell = WScript.CreateObject(\u0026quot;WScript.Shell\u0026quot;)
objWshShell.Run \u0026quot;shutdown.exe -s -hybrid -t 00\u0026quot;
Set objWshShell = Nothing
End Sub