アプリケーションを開発していて、ユーザーが Windows + L キーを押すなどして、ワークステーションがロックされたときを検出しようとしています。
ロックイベントに値があることを知っています
WTS_SESSION_LOCK 0x7
しかし、私はそれを使用する方法がわかりません。私はウェブを検索しましたが、何も見つかりませんでした。
アプリケーションを開発していて、ユーザーが Windows + L キーを押すなどして、ワークステーションがロックされたときを検出しようとしています。
ロックイベントに値があることを知っています
WTS_SESSION_LOCK 0x7
しかし、私はそれを使用する方法がわかりません。私はウェブを検索しましたが、何も見つかりませんでした。
最終的にVBでそれを行うことができました:D
まず、ライブラリをインポートする必要があります:
Imports System
Imports Microsoft.Win32
Imports System.Windows.Forms
次に、ハンドラーを追加します。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler SystemEvents.SessionSwitch, AddressOf SessionSwitch_Event
End Sub
最後に、それをキャプチャするサブを作成します。
Private Sub SessionSwitch_Event(ByVal sender As Object, ByVal e As SessionSwitchEventArgs)
If e.Reason = SessionSwitchReason.SessionLock Then
MsgBox("Locked")
End If
If e.Reason = SessionSwitchReason.SessionUnlock Then
MsgBox("Unlocked")
End If
End Sub
最後にハンドラーを削除します。
Private Sub closing_event(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
RemoveHandler SystemEvents.SessionSwitch, AddressOf SessionSwitch_Event
End Sub