Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我的应用程序在后台时,如何在winform中将键盘代码解析为条形码字符串_C#_Winforms_Keyboard_Barcode Scanner - Fatal编程技术网

C# 当我的应用程序在后台时,如何在winform中将键盘代码解析为条形码字符串

C# 当我的应用程序在后台时,如何在winform中将键盘代码解析为条形码字符串,c#,winforms,keyboard,barcode-scanner,C#,Winforms,Keyboard,Barcode Scanner,要求是,当我通过我的应用程序按钮启动“记事本”并保持“记事本”的焦点时,我使用条形码扫描仪扫描条形码。“记事本”中将有一个字符串,该字符串通过USB端口在我的后台应用程序中捕获 现在,我的winform应用程序在后台捕获了键盘代码,但我无法将键盘代码解析为扫描仪扫描的真实字符串。例如,我在“记事本”中得到了一个真正的“abcDEFghi123”,但我在winform程序中得到了一个类似“ABCShiftkeyDEFShiftkeyFGHID1D2D3”的键盘字符串,在textbox控件中得到了字

要求是,当我通过我的应用程序按钮启动“记事本”并保持“记事本”的焦点时,我使用条形码扫描仪扫描条形码。“记事本”中将有一个字符串,该字符串通过USB端口在我的后台应用程序中捕获

现在,我的winform应用程序在后台捕获了键盘代码,但我无法将键盘代码解析为扫描仪扫描的真实字符串。例如,我在“记事本”中得到了一个真正的“abcDEFghi123”,但我在winform程序中得到了一个类似“ABCShiftkeyDEFShiftkeyFGHID1D2D3”的键盘字符串,在textbox控件中得到了字符串“abcDEFghi123”。有人能帮我把键盘上的代码字符串解析成真正的字符串“abcDEFghi123”吗?

示例代码是


如果您有任何建议,我们将不胜感激。

为什么要绕道笔记本呢?条形码扫描器应该能够将关键码发送到应用程序中的文本文件中,只要在扫描前对其进行聚焦

如果这不是一个选项,那么您应该能够使用来获得正确的字符。(现在无法测试它)


如果失败,您应该能够使用KeyEventArgs的其他属性(如Shift)来确定字符是大写还是小写。

我需要在第三方应用程序中处理条形码扫描过程,同时我的应用程序应该在后台处理条形码扫描。非常感谢您提供的“KeyConverter”解决方案,但我没有找到最终的方法。我真的很想把windows消息翻译成真正的字符。由于不同扫描器之间的差异,前缀和后缀的差异是有原因的,因此我需要在最终解决方案中将windows消息翻译为真实字符。再次感谢您的帮助!