ボタンクリックイベントを使用してフォームを作成します(私は.NET 2.0を使用しています)。
{
Thread.Sleep(3000);
ExitWindowsEx(0,0); // shutdown
}
ボタンを押し、Left-WindowsKey+を押しLてデスクトップをロックします。シャットダウンは失敗します。
ExitWindowsExは1(成功)を返します。
このAPIが失敗するのはなぜですか。デスクトップがロックされていると、他に何が失敗する可能性がありますか?
別のデスクトップを使用しているため、API は失敗し、対話型ユーザーではなくなります。MSDNから:
したがって、対話型のユーザーでない場合は、コンピューターを実際にシャットダウンしなくても関数が成功する可能性があります。対話型ユーザーでない場合は、InitiateSystemShutdown または InitiateSystemShutdownEx 関数を使用します。
http://msdn.microsoft.com/en-us/library/aa376873(VS.85).aspxを使用します。(InitiateSystemShutdown)。ExitWindowsEx は「対話型」ログアウトです。