7 c# windows environment session-state
DUPLICATE: 如何以编程方式确定我的工作站是否已锁定?
如何检测(在运行时)Windows用户锁定其屏幕(Windows + L)并再次解锁时.我知道我可以全局跟踪键盘输入,但是可以用环境变量来检查这样的事情吗?
Ben*_*n S 15
一个SessionSwitch事件可能是这个你最好的选择.检查通过SessionSwitchEventArgs传递的SessionSwitchReason,找出它是什么样的开关并做出适当的反应.
您可以通过 WM_WTSSESSION_CHANGE 消息获取此通知。您必须通知 Windows 您希望通过 WTSRegisterSessionNotification 接收这些消息,并使用 WTSUnRegisterSessionNotification 取消注册。
这些帖子应该对 C# 实现有帮助。
http://pinvoke.net/default.aspx/wtsapi32.WTSRegisterSessionNotification
http://blogs.msdn.com/shawnfa/archive/2005/05/17/418891.aspx
http://bytes.com/groups/net-c/276963-trapping-when-workstation-locked