c#键盘键检测优先级问题

时间:2011-05-02 19:22:04

标签: c# keyboard key operator-precedence

我有一个应用程序可以检测C#winform上的按键。问题是在客户端有一些其他应用程序也检测按下的键并抑制它们,因此我的应用程序的表单没有获得按下的键的通知。我用传统的form.KeyDown事件来检测密钥。如何获得比其他应用程序更高的优先级?

谢谢,

MChicago

2 个答案:

答案 0 :(得分:1)

如果您担心其他应用程序基本上会窃取您的击键,那么您需要查看Global Hooks这几乎肯定是他们的其他应用程序如何窃取您的。您可以滚动自己的代码或使用其他人已编写的wrapper library

答案 1 :(得分:1)

你可能正在打一场失败的战斗。或者至少是一个不断升级的人。您已经发现其他一些应用程序正在抑制击键。因此,您创建一个全局钩子,以便首先获得击键。但后来其他应用程序发现它不再是第一个在线,所以它删除了自己的全局钩子并在你面前重新安装一个。您发现了这一点并再次将自己插入列表前面。 。

这是walls and ladders的游戏,没有人可以获胜。因此要么处理您的应用程序丢失击键,要么从客户端计算机中删除有问题的应用程序。