RegisterHotKey阻止文本框接收输入

时间:2016-10-13 08:31:54

标签: c# .net wpf registerhotkey

TL; DR - 想要检测全局热键,而不会干扰其他应用程序读取键盘输入。 RegisterHotKey会中断常规输入,所以不行。

你好,谢谢你的时间,

我最近一直在摆弄WPF,试着去学习并决定做一个小项目来帮助我更快地学习。

我遇到过这个问题,这不是一个问题,更多的是逻辑矛盾,我想说。

我一直在做的是注册全球按键。当我的窗口是顶部窗口或另一个窗口突出显示时,在Windows上注册每个按键。我一直在使用RegisterHotKey函数,如果我理解正确,它会告诉计算机不同地解释键盘输入。这使我无法正常使用键盘,因为这个应用程序在后台打开时会正常。

我所做的每一次搜索都是空的,他们都把我引向RegisterHotKey,这可能不是我案例中的正确解决方案。我想读取全局按键,同时仍然保持相同的旧键盘输入。

即使是关于如何做到这一点的轻微建议也将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于初学者,我想说的是,投下一个没有冒犯性的问题,不违反规则,是一个完全陷入困境的程序员在几天尝试自己解决之后寻求帮助。那只是纯粹的邪恶。

无论如何,在意识到我想要的东西无法使用RegisterHotKey完成后,我决定在其他地方寻求解决方案。 我最终在低级键盘输入上设置了一个钩子, 因为我上班途中没有我的代码,我今天晚些时候会发布。

主要结论:如果你想阅读全局按键或全局热键,如果你想要,而不是打断其他应用程序,你可能会想要使用一个钩子,如上段所述。