2011-12-22 6 views

答えて

11

セッションがロックされているかどうかを確認する方法はありません。しかし、セッションがであることを検出して、をロックする方法があります。 WTSRegisterSessionNotification()を使用すると、ワークステーションがロックされているときにWTS_SESSION_LOCK値のWM_WTSSESSION_CHANGEメッセージが表示されます。

サービスからこれを行う場合は、「セッション0分離」を必ず実行して、それが機能しない理由を確認してください。

+0

ありがとうございました!今私はこのリンクhttp://support.microsoft.com/kb/310153を読んでいます。後でコードを試してみます。 –

+4

'WTSRegisterSessionNotification()'を使うことは唯一のオプションです。 MSDNには次のように記載されています(http://msdn.microsoft.com/en-us/library/windows/desktop/aa376875.aspxを参照)。「ワークステーションがロックされているかどうかを判断するために呼び出すことのできる機能はありません。ユーザがログインしたときに 'WTSRegisterSessionNotification()'関数を使って 'WM_WTSSESSION_CHANGE'メッセージを受信します。 'Handler' SCMコールバックとは対照的に、' HandlerEx' SCMコールバックを使用するサービスは 'WTSRegisterSessionNotification()'から 'SERVICE_CONTROL_SESSIONCHANGE'通知を受け取ることができます。 –

関連する問題