修改现有的C#键盘侦听器代码以拦截消息

时间:2011-11-15 21:00:39

标签: c# wpf keyboard

现有stack overflow question效果很好,但我需要阻止按键操作。引用该帖子的原作者:

  

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

我为自己的无知而道歉,但我不知道如何处理这件事。任何人都可以指出我做出这些修改的正确方向吗?我愿意并且能够学习,只是不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

如果您不希望其他应用看到密钥,请不要调用CallNextHookEx。

关于此Win32调用的每个MSDN文档,

  

调用CallNextHookEx是可选的,但强烈建议;   否则,其他已安装挂钩的应用程序将不会   接收挂钩通知,结果可能表现不正确。您   应该调用CallNextHookEx,除非你绝对需要阻止   其他应用程序看到的通知。