我正在创建一个供个人使用的程序,必须对某些热键做出反应。例如,当我按ctrl + win + z时,它必须执行某个动作。目前,我可以使用user32.dll中的GetKeyState()来检测按键,但是我无法阻止它们被传递给活动应用程序。在ctrl + win + z的情况下,我想要发生的动作发生,但是如果我使用资源管理器,例如,资源管理器也会将其视为“撤消”。
显而易见的解决方案是使用“SetWindowsHookEx()”(也来自user32.dll),但每次我尝试一个涉及它的解决方案(任何类似于this site's示例代码的代码)时,我都会大幅减速我第一次使用热键。这是不可接受的。
我希望有人可以提供帮助。如果需要,我可以提供更多信息。