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"?

感谢

c#中的挂钩键盘

让我向您推荐一种不同的、更有效的方法来轻松连接键盘:

首先,使用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。

祝你好运。

编辑:顺便说一句,如果你想使用条形码阅读器,你也可以创建一个自己的,或者看看这里或这里。