5

アプリケーションを開発していて、ユーザーが Windows + L キーを押すなどして、ワークステーションがロックされたときを検出しようとしています。

ロックイベントに値があることを知っています

  WTS_SESSION_LOCK 0x7

しかし、私はそれを使用する方法がわかりません。私はウェブを検索しましたが、何も見つかりませんでした。

4

2 に答える 2

1

最終的に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
于 2013-07-26T00:35:49.577 に答える