C#全局热键(没有常用的全局钩子)
我正在为我的个人用途创建一个程序,它必须对一些热键做出反应。例如,当我按ctrl+win+z时,它必须执行特定的操作。目前,我可以使用user32.dll中的GetKeyState()来检测按键,但是我无法阻止它们被传递到活动应用程序。在ctrl+win+z的情况下,我希望执行的操作会发生,但如果我使用explorer,例如,explorer也会将其读取为“撤消” 显而易见的解决方案是使用“SetWindowsHookEx()”(也来自user32.dll),但是每次我尝试涉及它的解决方案(类似于示例代码)时,第一次使用热键时,我都会大大降低速度。这是不能接受的C#全局热键(没有常用的全局钩子),c#,hotkeys,keyboard-hook,C#,Hotkeys,Keyboard Hook,我正在为我的个人用途创建一个程序,它必须对一些热键做出反应。例如,当我按ctrl+win+z时,它必须执行特定的操作。目前,我可以使用user32.dll中的GetKeyState()来检测按键,但是我无法阻止它们被传递到活动应用程序。在ctrl+win+z的情况下,我希望执行的操作会发生,但如果我使用explorer,例如,explorer也会将其读取为“撤消” 显而易见的解决方案是使用“SetWindowsHookEx()”(也来自user32.dll),但是每次我尝试涉及它的解决方案(类似
我希望有人能帮忙。如果需要,我可以提供更多信息。您尝试过该功能吗?它肯定比windows钩子更容易使用。即使在调试器之外,您也会看到这种速度减慢吗?是的。这不仅仅是一个减速。。。它是所有程序对任何输入完全无响应的可能持续4秒。在调试器中/调出调试器不会改变我所知道的任何内容。