hvala, nadam se da cu skontati neshto iz toga :)
Keyboard hook help??
Zaključano
Zakačeno
Code:
{ Keyboard LowLevel structure }
PKbdLLHookStruct = ^TKbdLLHookStruct;
tagKBDLLHOOKSTRUCT = packed record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: ULONG_PTR;
end;
{ Keyboard LowLevel structure }
PKbdLLHookStruct = ^TKbdLLHookStruct;
tagKBDLLHOOKSTRUCT = packed record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: ULONG_PTR;
end;
Code:
function KeyHookFunc(Code, VirtualKey, KeyStroke: integer): LRESULT; stdcall;
function KeyHookFunc(Code, VirtualKey, KeyStroke: integer): LRESULT; stdcall;
gore u onoj strukturi vkCode je vjerovatno isto što i VirtualKey
Koje do promjenjivih iz gornje strukture odgovaraju promjenljivim Code i KeyStroke??
Ako sam dobro skonto ovako to trreba da ide:
Code:
function KeyHookFunc(Code, wParam:integer; LParam: KBDLLHOOKSTRUCT): LRESULT; stdcall;
function KeyHookFunc(Code, wParam:integer; LParam: KBDLLHOOKSTRUCT): LRESULT; stdcall;
KBDLLHOOKSTRUCT
The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event.
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
Members
vkCode
Specifies a virtual-key code. The code must be a value in the range 1 to 254.
scanCode
Specifies a hardware scan code for the key.
flags
Specifies the extended-key flag, event-injected flag, context code, and transition-state flag. This member is specified as follows.
0 - Specifies whether the key is an extended key, such as a function key or a key on the numeric keypad. The value is 1 if the key is an extended key; otherwise, it is 0.
1-3 - Reserved.
4 - Specifies whether the event was injected. The value is 1 if the event was injected; otherwise, it is 0.
5 - Specifies the context code. The value is 1 if the ALT key is pressed; otherwise, it is 0.
6 - Reserved.
7 - Specifies the transition state. The value is 0 if the key is pressed and 1 if it is being released.
An application can use the following values to test the keystroke flags. Value Purpose
LLKHF_EXTENDED Test the extended-key flag.
LLKHF_INJECTED Test the event-injected flag.
LLKHF_ALTDOWN Test the context code.
LLKHF_UP Test the transition-state flag.
time
Specifies the time stamp for this message.
dwExtraInfo
Specifies extra information associated with the message.
Moze ovako da ide
The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event.
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
Members
vkCode
Specifies a virtual-key code. The code must be a value in the range 1 to 254.
scanCode
Specifies a hardware scan code for the key.
flags
Specifies the extended-key flag, event-injected flag, context code, and transition-state flag. This member is specified as follows.
0 - Specifies whether the key is an extended key, such as a function key or a key on the numeric keypad. The value is 1 if the key is an extended key; otherwise, it is 0.
1-3 - Reserved.
4 - Specifies whether the event was injected. The value is 1 if the event was injected; otherwise, it is 0.
5 - Specifies the context code. The value is 1 if the ALT key is pressed; otherwise, it is 0.
6 - Reserved.
7 - Specifies the transition state. The value is 0 if the key is pressed and 1 if it is being released.
An application can use the following values to test the keystroke flags. Value Purpose
LLKHF_EXTENDED Test the extended-key flag.
LLKHF_INJECTED Test the event-injected flag.
LLKHF_ALTDOWN Test the context code.
LLKHF_UP Test the transition-state flag.
time
Specifies the time stamp for this message.
dwExtraInfo
Specifies extra information associated with the message.
Moze ovako da ide
Code:
function KeyHookFunc(Code, wParam:integer; LParam: PKbdLLHookStruct): LRESULT; stdcall;
function KeyHookFunc(Code, wParam:integer; LParam: PKbdLLHookStruct): LRESULT; stdcall;