VBでWindowsのログアウトを取得するには?

解決


ある太  2005-03-03 23:41:48  No: 88675  IP: [192.*.*.*]

OS:Windows2000  言語:VB6.0

VBでWindowsのユーザログアウトを拾いたいのですが、何か方法はあるでしょうか?
イメージとしては、ずーっと動いているEXEがいて、そいつが「今ログアウトした!」と気づくことができるか?  ってことです。

できる・できない  でもいいです。
よろしくお願いします。

編集 削除
kara  2005-03-04 12:07:15  No: 88676  IP: [192.*.*.*]

ユーザログアウトってログオフのことですよね?

ログオフ、シャットダウン、再起動の際には、各アプリケーションにWM_QUERYENDSESSIONメッセージが送信されます。
サブクラス化して、こいつを取得するようにすれば良いと思います。

編集 削除
魔界の仮面弁士  2005-03-04 12:29:58  No: 88677  IP: [192.*.*.*]

# Windows は ログイン / ログアウト ではなく、
# ログオン / ログオフ ですよ。

適当なフォーム(非表示でも可)をロードしておいて、
  Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbAppWindows Then
        'ログオフの処理
    End If
  End Sub
などで判断してみては如何でしょう。

編集 削除
ある太  2005-03-04 13:21:02  No: 88678  IP: [192.*.*.*]

karaさん、魔界の仮面弁士さん  ありがとうございます!

今から試してみます。

># Windows は ログイン / ログアウト ではなく、
># ログオン / ログオフ ですよ。
(そうですね。。  以後気をつけます。
  御指摘ありがとうです!  )

編集 削除
ある太  2005-03-04 14:34:05  No: 88679  IP: [192.*.*.*]

さすがです!  できました!

karaさん、魔界の仮面弁士さん  ありがとうございました!!
<(_ _)>

編集 削除