c#中的钩子键盘

时间:2014-11-09 22:54:53

标签: c# hook

我想使用这个项目在幕后阅读我的条形码阅读器。

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

如何连接数字? 我正在做测试但是没有用。

第二个问题: 如何获得上面的代码,如&00; 0000001234'没有char D?

感谢

1 个答案:

答案 0 :(得分:1)

让我为您推荐一种不同的,更有效的方法来轻松勾选键盘:

首先,使用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);
}

更多信息:PINvokeMSDN

祝你好运。

编辑:顺便说一句,如果您想使用条形码阅读器,您也可以创建自己的条形码阅读器,或者查看herehere