是否有可能从.NET中的全局键盘钩子中确定当前用户

是否有可能从.NET中的全局键盘钩子中确定当前用户,第1张

概述是否有可能从.NET中的全局键盘钩子中确定当前用户

我想创build一个键盘和鼠标挂钩,将作为一个windows服务启动。 我想监视全天使用系统的各种用户的活动。 即哪些用户在什么时候活跃 。

是可以确定哪个用户将接收事件? (该服务将作为一个单独的用户运行,所以getCurrentUser不合适)

Fn地址不可用

windows服务不能在冷启动时启动

自动打开谷歌浏览器,单击button,并closures铬C#WinForms

是否有附加到标准输出的缓冲区大小?

如何使用windows + m键盘快捷键最小化我的应用程序?

不,Environment.Username不起作用 – 挂钩过程不在输入接收器的上下文中调用。

事实上,我认为这是不可能的 – 如果使用.NET,你肯定使用的_LL钩子是低级钩子。 在我看来,在windows甚至确定哪个桌面/应用程序将接收事件之前,它们被执行得很好。 我可能是错的 – 虽然我从来没有用过自己的钩。

@TcKs – 呃,快速用户切换怎么样?

其他方式:

WTSGetActiveConsoleSessionID函数允许您获取活动会话的ID。 具体:

WTSGetActiveConsoleSessionID函数检索当前连接到物理控制台的终端服务会话。 物理控制台是显示器,键盘和鼠标。 请注意,终端服务没有必要运行此功能才能成功。

然后,您可以使用WTSqueryUserToken来创建用户令牌,那么您应该能够使用该令牌获取有关用户的信息。

这个功能来自终端服务,但文档说:

请注意,终端服务没有必要运行此功能才能成功。

所以我认为,这是可以的。

我不知道这些挂钩 – 他们是否收到来自远程桌面键盘的事件? 如果他们只得到本地键盘,那么我认为你需要找到WinSta0的拥有者。

总结

以上是内存溢出为你收集整理的是否有可能从.NET中的全局键盘钩子中确定当前用户全部内容,希望文章能够帮你解决是否有可能从.NET中的全局键盘钩子中确定当前用户所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1288559.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存