ホームページ >バックエンド開発 >C++ >Windows でロックされたワークステーションの期間をプログラムで決定するにはどうすればよいですか?

Windows でロックされたワークステーションの期間をプログラムで決定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-08 12:17:41783ブラウズ

How Can I Programmatically Determine the Duration of a Locked Workstation in Windows?

Windows ワークステーションのロック時間をプログラム的に決定する

Windows ワークステーションがロックされている時間を知ることは、さまざまなアプリケーションで役立ちます。 この記事では、これを実現するためのいくつかのコーディング アプローチについて概説します。

方法 1: C# と SessionSwitch イベント

非常に効果的な方法では、C# の SessionSwitch イベント ハンドラーを使用します。このイベントは、ワークステーションのセッション ステータスが変化したとき (ロック、ロック解除など) に発生します。 これらのイベントを追跡することで、ロック期間を正確に測定できます:

<code class="language-csharp">Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch);

void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)
{
    if (e.Reason == SessionSwitchReason.SessionLock)
    {
        // Record the lock start time.
    }
    else if (e.Reason == SessionSwitchReason.SessionUnlock)
    {
        // Calculate and record the lock duration.
    }
}</code>

方法 2: Windows サービス (推奨)

自己完結型で信頼性の高いソリューションの場合、Windows サービスには利点があります。 このサービスは、ロック状態を定期的にチェックし、ロック期間のログを維持できます。 これには手動でサービスのインストールと起動が必要になることに注意してください。

さらに読む:

以上がWindows でロックされたワークステーションの期間をプログラムで決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。