1

セキュリティ画面の終了を検出する必要があります。これは、ユーザーがウィンドウで Ctrl+Alt+Del を押したときに表示される全画面です。Xp では、この画面を閉じたときにアプリケーションが wm_paint メッセージを受け取りますが、Windows 7 では、メッセージが常に受信されるとは限らず、おそらく 25% の時間しか受信されません。

代わりに WM_WTSSESSION_CHANGE メッセージをキャッチしようとしましたが、ユーザーがログアウトしてアカウントに再度ログインした場合にのみ、このメッセージを受け取ります。

これまでのところ XP と 7 でしかテストしていないため、Vista での動作については不明です。

4

1 に答える 1

1

ウィンドウ/セッションに対してWTSRegisterSessionNotification()を呼び出して、WM_WTSSESSION_CHANGE(WTS_CONSOLE_CONNECT、WTS_CONSOLE_DISCONNECT、WTS_SESSION_LOCK、WTS_SESSION_UNLOCK)のサブタイプ(wParam)を受信しましたか?単純なwin32の例はhttp://support.microsoft.com/kb/310153にあります

WTS_SESSION_UNLOCKはあなたが求めているものでなければならないようです。

于 2010-01-08T14:04:10.347 に答える