c# - Windowsログオフの遅延(XP、Vistaおよび7)

c# .net windows

ユーザーがログアウトボタンをクリックした後、ユーザーのログオフを遅らせる既知の信頼できる方法はありますか?カウンターの期限が切れたら、ログアウトを遅らせたり、ログアウトをキャンセルしたり、アプリケーションからログアウトしたりする方法を知りたいです。
答え
ログアウトが発生すると、WindowsメッセージWM_QUERYENDSESSIONがすべてのアプリケーションに送信されます。アプリケーションは、ログオフのキャンセルを要求する否定応答でこのメッセージに返信できます。

MDSN docから:


アプリケーションはユーザーの意図を尊重し、TRUEを返す必要があります。沿って
デフォルトでは、DefWindowProc関数はこのメッセージに対してTRUEを返します。

シャットダウンすると、システムまたはメディアが破損する場合
書き込み、アプリケーションはFALSEを返すことができます。しかし、それは良い習慣です
ユーザーの行動を尊重する。


.NETでは、この機能はSystemEvents.SessionEnding eventによって公開されます。 CancelSessionEndingEventArgsプロパティをtrueに設定すると、キャンセルされるログオフを要求します。

ログオフの部分は以前Log off user from Win XP programmatically in C#で尋ねられました。
関連記事

c# - WebアプリケーションAsp.Net:Dosコマンドを実行する

c# - ASP.NET MVC3:親ビューの子ビューからの検証エラーの表示

c# - FileLogTraceListenerは、スペースがないときに最も古いログを削除します

c# - WAN上のTCP / UDPソケットサーバー

c# - MediaElementがストリームWP7からオーディオを再生しない

c# - .NETに実行中のオブジェクトテーブルはありますか

c# - ユーザー名/パスワードを使用してactiveMQへの接続を認証する

c# - C#でRssフィードの変更を観察することは可能ですか?

c# - asp.net C#で特定のURLの画像を動的にキャプチャする

c# - 多くの場所で使用されているデータベースから列が削除されたときにエンティティデータモデルを維持しますか?