与SetWindowsHookEx函数一起使用的应用程序定义的或库定义的回调函数。 每当一个新的键盘输入事件即将被提交到线程输入队列中时,系统都会调用这个函数。当调用此回调函数以响应键状态的更改时,将在更新键的异步状态之前调用回调函数。因此,不能通过在回调函数中调用GetAsyncKeyState来确定键的异步状态。HOOKPROC类型定义了指向这个回调函数的指针。LowLevelKeyboardProc是应用程序定义的或库定义的函数名的占位符。
函数结构
C++ LRESULT CALLBACK LowLevelKeyboardProc( _In_ int nCode, _In_ WPARAM wParam, _In_ LPARAM lParam );
参数成员:
Parameters
nCode [in]
Type: int
A code the hook procedure uses to determine how to process the message. If nCode is less than zero, the hook procedure must pass the message to the CallNextHookEx function without further processing and should return the value returned by CallNextHookEx. This parameter can be one of the following values.
钩子子程用来确定如何处理消息的代码。如果nCode小于零,钩子子程必须将消息传递给CallNextHookEx函数,而无需进一步处理,并且应该返回CallNextHookEx返回的值。此参数可以是以下值之一。
Value Meaning
HC_ACTION
0
The wParam and lParam parameters contain information about a keyboard message.
wParam和lParam参数包含关于键盘消息的信息。
wParam [in]
Type: WPARAM
虚拟键码
The identifier of the keyboard message. This parameter can be one of the following messages: WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, or WM_SYSKEYUP.
键盘消息的标识符。该参数可以是以下消息之一:WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN或WM_SYSKEYUP。
lParam [in]
按键状态
Type: LPARAM
A pointer to a KBDLLHOOKSTRUCT structure.
指向KBDLLHOOKSTRUCT结构的指针。
MSDN链接:
LowLevelKeyboardProc callback function (Windows)
https://msdn.microsoft.com/en-us/library/ms644985(VS.85).aspx
易语言结构:
.版本 2
.子程序 KeyboardProc, 整数型, , 低级键盘钩子回调函数
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型,