0
我試圖捕獲WM_QUERYENDSESSION以在應用程序中保存一些數據,但似乎我沒有在用戶註銷/系統重新啓動時收到此消息,此時應用程序被最小化爲系統托盤。我怎樣才能抓住它?當最小化到系統托盤時未收到WM_QUERYENDSESSION
謝謝。
相關的代碼(沒有魔法在那裏,希望:)):
ON_WM_QUERYENDSESSION()
BOOL CMainFrame::OnQueryEndSession()
{
AfxMessageBox(L"Are we hitting this?");
return FALSE;
}
對於我使用第三方LIB(CodeJock),我可能不能在這裏發表的托盤圖標,但通常它會創建一個隱藏窗口來處理消息,但主窗口在需要時只是ShowWindow(SW_HIDE)。也許我需要在那個隱藏的窗口中攔截那條消息並傳遞給它,我需要嘗試一下。
我想我們需要看一些你的代碼。具體來說,托盤最小化和WM_QUERYENDSESSION代碼。 – 2010-01-23 07:56:05
是的,這裏肯定需要看一些代碼。我發現MFC應用程序出現問題,WM_QES消息被IME幫助程序窗口返回FALSE(關閉高級文本服務解決了這個問題),但我從來沒有見過註銷工作但我的應用程序沒有看到消息的情況。 – 2010-01-23 14:12:12
感謝您的回覆 - 我爲這個問題添加了更多解釋。我很樂意提供更多的代碼。 – dennisV 2010-01-25 10:46:25