.NET在Windows 10中检测登录事件

时间:2017-05-16 19:52:08

标签: vb.net login windows-10 sens

我对这个问题感到有点难过。我需要检测用户何时登录,何时显示已锁定以及用户何时注销。在过去,我使用了一个VB.NET应用程序,它使用对Sens(系统事件通知服务)的COM引用,它使用了Sens Events ISensLogon接口。

然而,自从迁移到Windows 10后,我无法再将Sens作为COM对象添加到我的项目中。是否有一个我缺少的SDK才能使用此功能?

我是否需要使用另一个COM库或引用来检测Windows 10中的这些事件?

1 个答案:

答案 0 :(得分:2)

试试这个:

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

尝试在.NET框架实现的时间和地点远离COM。

相关问题