日期:2014-05-17  浏览次数:21063 次

(C#)通过键盘钩子获取ScanCode/VkCode.

(C#)通过键盘钩子获取ScanCode/VkCode.

?

程序运作机制和流程

1. 程序开始运行,初始化Form的元件。

2. MainForm_Load 事件中订阅键盘钩子的的KeyDown,KeyUp,KeyPress事件?

?

? ?keyboardHook.KeyDown += new KeyEventHandler(keyboardHook_KeyDown);

? ?keyboardHook.KeyUp += new KeyEventHandler(keyboardHook_KeyUp);

? ?keyboardHook.KeyPress += new KeyPressEventHandler(keyboardHook_KeyPress);

?

? ?并安装键盘钩子 => 通过调用 SetWindowsHookEx;

?

3. 当按下/放开 某一个Key的时候,产生了KeyDown,KeyUp,KeyPress事件.

? ?在键盘钩子的处理函数中,可以对获取的Key信息进行处理.

?

? ?protected override int HookCallbackProcedure(int nCode, int wParam, IntPtr lParam)

?

?

=>疑问,如何获取扩展code E0, E1 ,E2 ????

?

?

?

?