我在启动时运行一些已注册全局热键的应用程序,例如 Greenshot、Winamp。
但是这些热键在我以管理员权限运行的应用程序中不起作用,因此要使用热键,我首先需要切换到另一个未升级的应用程序,这非常烦人。
当以管理员身份运行相同的 Winamp 时,它的热键在非应用程序和高级应用程序中都能正常工作。
在 Windows 7 上我没有遇到任何问题。在 Google 上搜索也没有找到任何关于如何修复此问题的线索。
答案1
这是 Windows 用户帐户控制的设计:如果任何应用程序能够监视具有提升权限的应用程序中按键的行为,那么这将是一个潜在的安全问题。
如果您信任使用热键的特定程序,则可以将其配置为始终以管理员权限运行。正如您特别提到的 Greenshot,这是我们针对此行为建议的解决方法。
披露:我是 Greenshot 团队的成员。
答案2
这个问题可能存在于旧版本的 Windows 中,但现在已不存在。
当程序挂接键盘时,所有挂接键盘的程序都会在按下键时收到通知。没有一个程序可以“拥有”键盘,因为它是一种系统资源。
这意味着,即使提升权限的程序挂接了键盘,也不会阻止未提升权限的程序也挂接键盘。
我已经在 Windows 10 中测试了 Winamp 和 Greenshot,当活动窗口属于提升的程序时,它们的全局快捷方式运行良好。
如果这个问题曾经存在,那么它很久以前就消失了。或者它可能与多个程序挂钩同一个全局密钥之间的冲突有关。