修改现有的c#键盘监听器代码来拦截消息

本文关键字:代码 消息 监听器 键盘 修改 | 更新日期: 2023-09-27 18:14:38

现有的堆栈溢出问题工作得很好,除了我需要防止按键通过。引用文章原作者的话:

如果你出于某种原因想要拦截系统键(例如创建Alt+Tab替换)并阻止窗口处理它们,你必须将BeginInvoke更改为Invoke。也添加处理属性到KeyDown, KeyUp事件,看看它是否被处理。之后,你可以调用CallNextHookEx,也可以不调用)

我为我的无知道歉,但我不知道如何处理这件事。谁能告诉我做这些修改的正确方向?我愿意并且能够学习,只是不知道从哪里开始。

修改现有的c#键盘监听器代码来拦截消息

如果你不想让其他应用程序看到键,不要调用CallNextHookEx。

根据Win32调用的MSDN文档,

调用CallNextHookEx是可选的,但强烈建议使用;否则,其他安装了钩子的应用程序将不会接收钩子通知,可能导致行为不正确。你应该调用CallNextHookEx,除非你绝对需要防止通知被其他应用程序看到。