2009-05-12 6 views

答えて

4
  • (あなたのプログラムがサービスである場合は、XPにしている場合、SENS、SCM通知Winlogonの通知を)あなたは、様々なメカニズムを使用してログオン/ログオフ通知を取得することができます
  • あなたはアクティブなセッションを列挙するためにWMIを使用することができます。
  • WTS APIを使用してセッションを列挙し、セッション情報を照会することができます。
+0

私は、アクティブなセッションは、uが言及していることを指す列挙するポイントWMIを議論する必要があります。マシンをログオフ状態にするかどうかを判断するには、どうすればそれを使用しますか?私はセッションを取得するために次のwmiクエリを使用しています。 Win32_LogonSession FROM SELECT *は、それは私にはログインして一つだけのユーザーがある。 もLsaEnumerateLogonSessions()関数は同じことを7つのセッションを返します。 –

+0

セッションのLogonTypeプロパティで試行錯誤しなければならないことがあります。 –

3

AutoItでは、アクティブなウィンドウハンドルのログが0x0000000を返した場合、アクティブなウィンドウハンドルをチェックして、システムがログオフしているかどうかを常に検出します。 AutoItのでは、それは次のようになります...

If WinGetHandle("") == 0x00000000 Then MsgBox(0,"","We are logged out!") 

役に立てば幸い...

+0

はい、これは何らかの助けになりました。 –

関連する問題