C# - 低级别关键钩子和处理事件

时间:2017-09-25 08:56:42

标签: c# .net

我是C#.Net的新手。我想使用“https://github.com/rvknth043/Global-Low-Level-Key-Board-And-Mouse-Hook”中的“Global-Low-Level-Key-Board-And-Mouse-Hook”库。用于捕获低级别的keyup和keydown事件。

根据文档,我可以使用回调函数

捕获键向下和向上事件
 KeyboardHook keyboardHook = new KeyboardHook();
 keyboardHook.KeyDown += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyDown);
 keyboardHook.KeyUp += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyUp);

keyboardHook_KeyDown&& keyboardHook_KeyUp,我知道哪个键是上下的。但是,我想在某些条件下处理此事件是正确的,例如,如果键“R”和“C”向下然后将事件处理为true,否则传递给应用程序。

我参加了课程,找到了keyboardHook_KeyDown&& keyboardHook_KeyUp定义为

public event KeyboardHookCallback KeyDown;
public event KeyboardHookCallback KeyUp;

1 个答案:

答案 0 :(得分:1)

可能最简单的方法是在内部创建自己的事件处理程序,让主应用程序订阅该事件,然后当处理程序收到事件时,它可以处理它感兴趣的事件并将其余部分传递给应用程序通过发布自己的onEvent。如果您需要一个例子,请发表评论,我会把一些东西放在一起。

编辑:请问您为什么要使用低级挂钩,标准挂钩是否不适合您的目的?你没有说它是什么样的应用程序(表格等)。