2
我使用C++編寫非託管WinAPIs環境。什麼是C++的SystemEvents.SessionEnded事件的等價物?
我使用C++編寫非託管WinAPIs環境。什麼是C++的SystemEvents.SessionEnded事件的等價物?
您正在尋找WM_ENDSESSION
窗消息
http://msdn.microsoft.com/en-us/library/windows/desktop/aa376889(v=vs.85).aspx
LRESULT MyWindowProc(HWND hwind, UINT msg, WPARAM wParam, LPARAM lParam) {
switch (msg) {
case WM_ENDSESSION:
// Session ended. Just like SystemEvents.SessionEnded
...
break;
...
}
}
感謝。它是否也針對服務應用程序進行廣播? – c00000fd
@ user843732不,這隻會發送到桌面應用程序。由於服務與桌面隔離,服務沒有會話的概念 – JaredPar
對於服務,您可以在HandlerEx()實現中註冊SERVICE_CONTROL_SESSIONCHANGE通知。請參閱http://msdn.microsoft.com/en-us/library/windows/desktop/ms683241(v=vs.85).aspx – Bukes