区分SendKeys与真实用户/键盘击键

时间:2014-12-23 21:06:58

标签: vb.net keypress keydown sendkeys keyup

我正在尝试在vb.net中为windows开发一个打字速度计算器应用程序...

我想解决的问题是拒绝sendkeys,即我希望用户只能从键盘输入文字。

有什么方法可以检测来自其他应用程序或自动类型的sendkeys并清除文本框?

我尝试过的事情:

尝试在发生的事件上设置计时器以检测来自sendkeys的笔画(不起作用)

尝试http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx中提到的低级钩子 在vb中通过禁用视觉样式并从main运行我的表单来运行主模块以设置挂钩。(不起作用)

甚至尝试过codeprojects中的其他钩子。

我现在正在工作的想法是,用户必须从表单中失去焦点,以激活将发送击键的应用程序。我认为将焦点从文本框更改为按钮或其他内容,以便当另一个应用程序尝试发送密钥时,它将无法执行此操作。

1 个答案:

答案 0 :(得分:0)

您可以使用某些进程间通信,例如named pipes,而不是检测其他应用程序的击键。