草庐IT

SystemEvents

全部标签

.net - 知道 Windows 用户是否处于事件状态

在Windows中,我可以在不注销的情况下登录和切换用户。就像那样,我可以让多个用户登录,但只有一个用户在工作。我怎么知道哪个用户当前正在工作。 最佳答案 实际上我在c#中找到了一个很好的Microsoft示例(DetecttheWindowssessionstate)。他们注册到系统事件“SessionSwitch”SystemEvents.SessionSwitch+=newSessionSwitchEventHandler(SystemEvents_SessionSwitch);voidSystemEvents_Session

c# - SystemEvents.SessionSwitch 哪个用户被锁定/解锁

我正在使用SystemEvents.SessionSwitch事件来确定运行我的进程的用户是否被锁定,但该事件不会让您知道哪个用户被锁定/解锁。我怎样才能得到这个信息(从一个低特权用户拥有的进程) 最佳答案 我认为您不能用于部分受信任的代码。如果您的应用程序或其中的一部分可以成为完全信任的服务,则可以按照theanswer中指定的方式检索sessionID。到relatedquestion.然后给定sessionID,您可以找到任何具有该sessionID的进程来获取实际用户(从GettingWindowsProcessOwnerN

c# - 如何检测来自 WPF 应用程序的“锁定此计算机”命令?

更喜欢使用WPF的C#、.Net3.5中的答案(Windows窗体也可以)我有一个本质上是工具栏窗口或托盘图标的应用程序。它需要检测用户是否锁定了他/她的工作站并走开了,以便在集中式系统中更新此人的状态。使用SystemEvents,我可以很容易地检测到session切换或注销,但我终究无法弄清楚如何检测或接收Lock事件。感谢您的帮助。 最佳答案 当你处理Microsoft.Win32.SystemEvents.SessionSwitch事件(听起来您已经在检测注销),检查Reason是否为SessionSwitchReason.

c# - 如何检测来自 WPF 应用程序的“锁定此计算机”命令?

更喜欢使用WPF的C#、.Net3.5中的答案(Windows窗体也可以)我有一个本质上是工具栏窗口或托盘图标的应用程序。它需要检测用户是否锁定了他/她的工作站并走开了,以便在集中式系统中更新此人的状态。使用SystemEvents,我可以很容易地检测到session切换或注销,但我终究无法弄清楚如何检测或接收Lock事件。感谢您的帮助。 最佳答案 当你处理Microsoft.Win32.SystemEvents.SessionSwitch事件(听起来您已经在检测注销),检查Reason是否为SessionSwitchReason.