.NET Обнаружение события входа в систему в Windows 10

Я был немного озадачен этим вопросом. Мне нужно определить, когда пользователь входит в систему, когда дисплей заблокирован и когда пользователь выходит из системы. В прошлом я использовал приложение VB.NET, которое использует ссылку COM на Sens (служба уведомления о системных событиях), которая использует интерфейс Sens Events ISensLogon.

Однако после перехода на Windows 10 я больше не могу добавлять Sens в качестве COM-объекта в мой проект. Есть ли SDK, который мне не хватает, чтобы использовать эту функцию?

Есть ли другая библиотека COM или ссылка, которую мне нужно использовать для обнаружения этих событий в Windows 10?

1 ответ

Попробуй это:

Imports Microsoft.Win32

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    AddHandler SystemEvents.SessionSwitch, AddressOf SystemEvents_SessionSwitch
End Sub

Private Sub SystemEvents_SessionSwitch(sender As Object, e As SessionSwitchEventArgs)

    Select Case e.Reason
        Case SessionSwitchReason.SessionLock
            MessageBox.Show("Lock")
        Case SessionSwitchReason.SessionLogoff
            MessageBox.Show("LogOff")
        Case SessionSwitchReason.SessionLogon
            MessageBox.Show("Login")
        Case SessionSwitchReason.SessionUnlock
            MessageBox.Show("Unlock")
        Case Else
    End Select

End Sub

End Class

Старайтесь держаться подальше от COM, когда и где.NET Framework делает это возможным.

Другие вопросы по тегам