我正在尝试监视计算机上当前用户的活动。
我有一个进程监控它需要监控的内容,并将其保存在用户进行活动的文件中。
目前,我将在该进程启动时拥有该进程的用户的名称保存在一个文件中,并且该进程在新用户登录时自动启动。因此,我可以处理在同一台机器上登录的不同用户。
当有 2 个或更多登录用户并且他们在没有注销的情况下被切换时会出现问题(现在我忽略了 RDP 登录的情况)。
我试过使用 SystemEvents.SessionSwitch 事件,但它没有给我新的活动用户,它只告诉我哪个用户不再活动。我想过有一个管理进程负责在切换用户后杀死并重新启动监视进程,但是该进程也不知道当前哪个用户处于活动状态。
如果有人知道如何跟踪活跃用户,我们将不胜感激。
谢谢
问问题
373 次
1 回答
0
已在此线程中解决:如何从 .NET 中的 Windows 服务获取当前记录的用户名?. 小吃有正确的答案。
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT UserName FROM Win32_ComputerSystem");
ManagementObjectCollection collection = searcher.Get();
于 2018-03-29T23:51:54.620 回答