by たかせ » 2020年11月18日(水) 17:35
とりあえずコールバック関数を以下の様に記載すれば実現できます。
ちなみにWindows10でしょうか?
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
SELECT CASE dwMsg
CASE WM_QUERYENDSESSION
'Windows シャットダウン処理
MessageBox(hMainWnd,"Windows10(1909) シャットダウンします","TEST",MB_OK)
CASE ELSE
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
END SELECT
End Function
そこでWindows7とWindows10(1909)でテストしました。
Windows7では問題なく動作します。
Windows10の場合シャットダウンするとシャットダウン自体が中断されます。
なので期待通りに動作しないと思います。
まあ実行すればわかりますが。
ご確認願います。
よろしくお願いいたします。
とりあえずコールバック関数を以下の様に記載すれば実現できます。
ちなみにWindows10でしょうか?
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
SELECT CASE dwMsg
CASE WM_QUERYENDSESSION
'Windows シャットダウン処理
MessageBox(hMainWnd,"Windows10(1909) シャットダウンします","TEST",MB_OK)
CASE ELSE
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
END SELECT
End Function
そこでWindows7とWindows10(1909)でテストしました。
Windows7では問題なく動作します。
Windows10の場合シャットダウンするとシャットダウン自体が中断されます。
なので期待通りに動作しないと思います。
まあ実行すればわかりますが。
ご確認願います。
よろしくお願いいたします。