我现在正在编辑这篇文章,因为我认为我已经找到了这个问题,这似乎是Win8.1和Win10的操作系统缺陷。问题摘要仍然和以前一样“低级鼠标钩子不会在管理过程中触发鼠标下/鼠标事件”.对于管理应用程序,如果一个非管理员开始自己的低级钩子。
复制问题的步骤:
结果:请注意,作为admin运行的应用程序实例(从#2开始)现在无法获得鼠标上下/单击事件,但它仍然可以获得其他鼠标事件和所有键盘事件。
有人遇到过这个问题吗?
发布于 2016-02-03 08:26:00
执行部分:
...and它确认当前台窗口以管理的形式运行时,不会触发mouseup/mousedown事件。
执行部分:
如果我的应用程序不是运行作为管理,那么我无法获得所有鼠标/键盘事件,
从Vista开始,应用程序不可能向高架应用程序发送消息或安装钩子。这是通过用户界面特权隔离(UIPI)和完整性(见下文)实现的。
MSDN:
UIPI不干扰或更改在同一权限(或完整性)级别的应用程序之间的窗口消息传递行为。UIPI通过阻止以下行为防止低权限进程访问高权限进程.lower-privilege进程不能:
我记得就在Vista发布之前,有一个很好的Word文档,里面都是关于为Windows准备你的应用程序的,但遗憾的是,我找不到它。
但是,如果我的应用程序作为admin运行,那么它就不能获得mousedown/mouseup事件。
也许你的鼠标钩子有问题?如果不看到你的代码就说不出来。
这是Windows中已知的问题吗?
据我所知,不是针对Windows Vista+。
多告诉我一些
https://stackoverflow.com/questions/35171743
复制相似问题