如何用代码确定机器被锁定了多长时间?
也欢迎使用C#之外的其他想法。
我喜欢Windows服务的想法(并且已经接受了它)是为了简洁和整洁,但是不幸的是,我认为在这种特殊情况下它不会对我有用。我想在工作而不是在家中(或者我想在家中)在我的工作站上运行此程序,但是出于国防部的考虑,它很难解决。实际上,这就是我自己推出自己的原因的一部分。
无论如何,我都会写出来,看看它是否有效。谢谢大家!
我以前没有找到这个,但是从任何应用程序中,您都可以连接SessionSwitchEventHandler。显然,您的应用程序将需要运行,但前提是:
Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch); void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e) { if (e.Reason == SessionSwitchReason.SessionLock) { //I left my desk } else if (e.Reason == SessionSwitchReason.SessionUnlock) { //I returned to my desk } }