C# 全局热键(不带常用的全局钩子)

问题描述 投票:0回答:1

我正在创建一个供我个人使用的程序,它必须对某些热键做出反应。例如,当我按 ctrl+win+z 时,它必须执行某个操作。目前,我可以使用 user32.dll 中的 GetKeyState() 来检测按键,但是我无法阻止它们传递到活动应用程序。在 ctrl+win+z 的情况下,我想要发生的操作发生,但如果我使用资源管理器,例如,资源管理器也会将其读取为“撤消”。

显而易见的解决方案是使用“SetWindowsHookEx()”(也来自 user32.dll),但是每次我尝试涉及它的解决方案(任何类似于 此站点的示例代码)时,我第一次都会大幅减慢速度我用的是热键。这是不可接受的。

希望有人能帮忙。如果需要的话我可以提供更多信息。

c# hotkeys keyboard-hook
1个回答
2
投票

您尝试过RegisterHotKey功能吗?它绝对比 windows hook 更容易使用。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.