开发者

Windows Logoff Event c++

I need to catch windows logoff event, I'm using c++. I dont know where to start searching,

thank开发者_Go百科s for any help,

Dani.


In console application, you can register a callback (SetConsoleCtrlHandler, CTRL_LOGOFF_EVENT).

In message-loop application, you can catch certain messages (WM_QUERYENDSESSION, WM_ENDSESSION).

See Logging Off (Windows) on MSDN.


WM_QUERYENDSESSION and WM_ENDSESSION are most likely what you're after.


I believe the "correct" way is to listen to a WMI event.

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/0c1bded8-0cce-4260-bd28-4b4ffce0d27d

Disclaimer: I have not tried this myself.


You can use OpenInputDesktop MSDN

During logoff, the Input Desktop is inaccessible to the user, and the function retuns NULL.

ex: HDESK hDesk = OpenInputDesktop(0, FALSE, READ_CONTROL);

if (!hDesk) -- during logoff... -- else { --normal state-- CloseHandle(hDesk); }

In windows vista & 7, pressing CTRL+ALT+DELETE also brings to an inaccessible to the user desktop.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜