我想创建一个键盘和鼠标 Hook ,它将作为 Windows 服务启动。我想监控全天使用该系统的各种用户的事件。即哪些用户在什么时间活跃。
是否可以确定哪个用户将接收事件? (该服务将作为单独的用户运行,因此 getCurrentUser 不合适)
最佳答案
不,Environment.UserName 不起作用 - Hook 过程不会在输入接收器的上下文中调用。
事实上,我认为这是不可能的 - 如果使用 .NET,您无疑会使用 _LL Hook ,它是低级 Hook 。在我看来,它们在 Windows 甚至确定哪个桌面/应用程序将接收事件之前就已执行。不过,我可能错了——我自己从未使用过 _LL Hook 。
关于.net - 是否可以从 .NET 中的全局键盘 Hook 中确定当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/119508/