特定のユーザーがコンピューターにログインしている時間を測定するアプリケーションを作成していたと想像してください(実際に作成しているアプリケーションは異なりますが、それは問題ではありません)。
ユーザーがいつログイン、ログアウトするか、いつコンピューターを一時停止するか([シャットダウン]メニューの[スタンバイ]を選択)、コンピューターがスリープから再開するタイミングを追跡する必要があります。
私はそのためSystemEvents
に(具体的にはPowerModeChanged
、SessionSwitch
イベントを)使用していますが、1つの例外を除いて、ほとんど機能します。
コンピュータが一時停止されている場合、PowerModeChanged
イベントはモードで正しく発生しますSuspend
。
コンピュータが再開PowerModeChanged
すると、モードで起動しますResume
。ここまでは順調ですね。
その直後SessionSwitch
、理由でイベントが発生しSessionLock
ます。しかし、履歴書の後で最終的にログインすると、はありませんSessionUnlock
。
この動作はWindowsXPで発生します。これは、XP、Vista、および7で正しく機能するために必要です。
このロック解除を受け取る方法はありますか?