c#中的挂钩键盘
本文关键字:键盘 | 更新日期: 2023-09-27 18:29:44
我想使用这个项目在后台读取我的条形码阅读器。
http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook
当我添加时:
gkh.HookedKeys.Add(Keys.D0);
gkh.HookedKeys.Add(Keys.D1);
gkh.HookedKeys.Add(Keys.D2);
gkh.HookedKeys.Add(Keys.D3);
gkh.HookedKeys.Add(Keys.D4);
gkh.HookedKeys.Add(Keys.D5);
gkh.HookedKeys.Add(Keys.D6);
gkh.HookedKeys.Add(Keys.D7);
gkh.HookedKeys.Add(Keys.D8);
gkh.HookedKeys.Add(Keys.D9);
只要阅读由10个数字组成的代码,我就会在代码中使用它。它是这样的:
D1
D2
D0
D0
D0
D0
D1
D2
D3-
D4
如何连接数字?我正在做测试,但不起作用。
第二个问题:如何在没有字符D的情况下获得上面的代码,如"0000001234"?
感谢
让我向您推荐一种不同的、更有效的方法来轻松连接键盘:
首先,使用DllImport和PINvoke导入GetASyncKeyState:
[DllImport("user32.dll")]
static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);
然后,您可以随心所欲地使用上述功能,例如:
public static bool IsKeyPushedDown(System.Windows.Forms.Keys vKey)
{
return 0 != (GetAsyncKeyState((int)vKey) & 0x8000);
}
更多信息:PINvoke,MSDN。
祝你好运。
编辑:顺便说一句,如果你想使用条形码阅读器,你也可以创建一个自己的,或者看看这里或这里。