Reputation: 51
Create a form (I'm using .NET 2.0) with a button click event:
{
Thread.Sleep(3000);
ExitWindowsEx(0,0); // shutdown
}
Hit the button, press Left-WindowsKey + L to lock the desktop. The shutdown fails.
ExitWindowsEx returns 1 (Success).
Why does this API fail, and what else might fail when the desktop is locked?
Upvotes: 3
Views: 1245
Reputation: 13942
The API fails because you're on a different desktop, and are therefore no longer the interactive user. From MSDN:
Therefore, if you are not the interactive user, the function can succeed without actually shutting down the computer. If you are not the interactive user, use the InitiateSystemShutdown or InitiateSystemShutdownEx function.
Upvotes: 3
Reputation: 16178
use http://msdn.microsoft.com/en-us/library/aa376873(VS.85).aspx. (InitiateSystemShutdown). ExitWindowsEx is 'interactive' logout.
Upvotes: 0