我想在keyroke之后更改虚拟密钥,我使用原始输入来获取设备信息。
Actulay我有两个键盘(一个键盘和一个条形码扫描仪)和原始输入我可以得到keystorke来自一个。但如果它们来自条形码扫描仪,我需要使用虚拟键。将它们更改为"KeyChar = Convert.ToChar(0);"
那可能吗,那怎么样?
答案 0 :(得分:0)
我不确定你在问什么或者你所处的确切环境,但是我一直在使用Winforms处理条形码扫描仪,我需要首先获取扫描文本,更改一些关于它的信息,然后将其发送到表单。捕捉击键很容易,但是你怎么知道它们是来自条形码扫描仪还是键盘?
我使用的技巧是条形码格式。他们通常有一个开始和停止的标志,像$。使用扫描仪并将某些内容扫描到记事本中,您将看到。
然后使用此符号作为开始捕捉击键的方法。因此,对于每个$,您开始捕获所有后续按键,然后在下一个$停止捕获时,取出该字符串并随意执行任何操作。使用SendKeys将结果拍摄回表单(假设您至少删除了开始/停止符号)。
请注意,这仅适用于code-xxx条形码。对于GTIN标准,它们通常不使用开始或停止标志,因此它们有点棘手。
答案 1 :(得分:0)
覆盖PreProcessMessage并处理键盘消息。