C# 是否可以在Windows中有选择地阻止键盘输入?怎么用?
我的应用程序(C#)需要与USB条形码扫描仪接口,它基本上就像键盘一样工作。它输入条形码,最后输入一个回车键 应用程序需要在后台运行,所以我使用低级键盘钩子来获取和过滤全局键事件中的条形码。这部分已经开始工作了 我的问题是:如果是条形码,我不希望其他应用程序获得键盘(扫描仪)输入。不应干扰正常的关键事件。总之,有选择地阻止关键事件。这可能吗C# 是否可以在Windows中有选择地阻止键盘输入?怎么用?,c#,windows,C#,Windows,我的应用程序(C#)需要与USB条形码扫描仪接口,它基本上就像键盘一样工作。它输入条形码,最后输入一个回车键 应用程序需要在后台运行,所以我使用低级键盘钩子来获取和过滤全局键事件中的条形码。这部分已经开始工作了 我的问题是:如果是条形码,我不希望其他应用程序获得键盘(扫描仪)输入。不应干扰正常的关键事件。总之,有选择地阻止关键事件。这可能吗 我的应用程序是C语言,但是我不需要C++或者更多的本地解决方案,只要在C语言中集成就可以了。p> 谢谢 其他信息: 整个想法都是在后台进行的,即使它不是活动
我的应用程序是C语言,但是我不需要C++或者更多的本地解决方案,只要在C语言中集成就可以了。p> 谢谢
其他信息:在键盘钩子的末尾,您将调用以执行链中的下一个钩子 我建议将一些独特的签名作为条形码的前导,以便您的键盘挂钩程序可以将其检测为从扫描仪输入的有效条形码。现在,当您获得此数据时,只需跳过对“CallNextHookEx”的调用,这样链将中断,其他程序将无法获取您的条形码。否则-调用“CallNextHookEx”,以便链可以继续
注:这是我的理论,我自己从未尝试过完全相同的事情。但是,我在C++和C语言中编写了钩子。在你的键盘钩子的结尾,你会调用来执行链中的下一个钩子。< /P> 我建议将一些独特的签名作为条形码的前导,以便您的键盘挂钩程序可以将其检测为从扫描仪输入的有效条形码。现在,当您获得此数据时,只需跳过对“CallNextHookEx”的调用,这样链将中断,其他程序将无法获取您的条形码。否则-调用“CallNextHookEx”,以便链可以继续 注:这是我的理论,我自己从未尝试过完全相同的事情。但是,我在C++和C语言中写了钩子。 检查这个项目。 它也是用C语言编写的,因此会使您的编码更容易。听起来您只需要连接全局按键事件,并通过设置已处理的值或类似的内容来抑制它 查看此项目
它也是用C语言编写的,因此会使您的编码更容易。听起来您只需要连接全局按键事件,并通过设置已处理的值或类似的内容来抑制它 所以,基本上你想让你的应用程序在按键处理方面成为“最顶尖的”?@Justin,这不是问题所在。我已经可以过滤掉条形码了。@AKFish我的错-我会正确地阅读问题…@Reniuz否。该应用程序不能是最顶级的。它需要在不活动时工作。最重要的是,不要同时把其他应用程序搞乱。@Justin一点也不。谢谢你对我的问题的关注。所以基本上你想让你的应用程序在按键处理方面成为“最顶尖的”?@Justin这不是问题所在。我已经可以过滤掉条形码了。@AKFish我的错-我会正确地阅读问题…@Reniuz否。该应用程序不能是最顶级的。它需要在不活动时工作。最重要的是,不要同时把其他应用程序搞乱。@Justin一点也不。谢谢你关心我的问题。