我有一个应用程序,可以在C# winform上检测按下的键。问题是在客户端,还有一些其他的应用程序也会检测并抑制按下的键,因为我的应用程序的表单没有收到按下的键的通知。我使用了传统的form.KeyDown事件来检测密钥。我如何才能获得比其他应用程序更高的优先级?
发布于 2011-05-03 03:30:48
如果你担心其他应用程序基本上窃取了你的按键,那么你需要查看Global Hooks,这几乎可以肯定其他应用程序是如何窃取你的按键的。您可以使用自己的代码,也可以使用其他人已经编写的wrapper library。
发布于 2011-05-03 16:09:41
你可能是在打一场失败的战争。或者至少是一个不断升级的。您已经发现其他一些应用程序正在抑制击键。因此,您创建了一个全局钩子,以便首先获得击键。但是后来另一个应用程序发现它不再是第一个,所以它删除了自己的全局钩子,并在您前面重新安装了一个。您发现了这一点,并再次将自己插入到列表的前面。。。
这是一场没有人能赢的walls and ladders游戏。因此,要么处理应用程序丢失击键的问题,要么从客户端计算机中删除违规应用程序。
https://stackoverflow.com/questions/5861465
复制相似问题