我对这个问题感到有点难过。我需要检测用户何时登录,何时显示已锁定以及用户何时注销。在过去,我使用了一个VB.NET应用程序,它使用对Sens(系统事件通知服务)的COM引用,它使用了Sens Events ISensLogon接口。
然而,自从迁移到Windows 10后,我无法再将Sens作为COM对象添加到我的项目中。是否有一个我缺少的SDK才能使用此功能?
我是否需要使用另一个COM库或引用来检测Windows 10中的这些事件?
答案 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。