Delphi-Quellcode:
False:
if (PostMessage(wParam, WM_KEYDOWN, VK_NUMPAD7, 0)) then
Form1.Button1.Click;
Du willst also an wParam die Message WM_KEYDOWN schicken? Und machst davon, ob das ging abhängig, ob du Click ausführst?
Sorry, aber überlegst du eigentlich was du da tust?
Aber wenn du offenbar nicht in die Dokumentation schauen willst, wird das natürlich nichts...
Dabei ist es so einfach:
Delphi-Quellcode:
type
tagKBDLLHOOKSTRUCT = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: DWORD;
end;
TKbdDLLHookStruct = tagKBDLLHOOKSTRUCT;
PKbdDLLHookStruct = ^TKbdDLLHookStruct;
...
function KeyboardHookProc(nCode: Integer; wParam: wParam; lParam: lParam): LRESULT; stdcall;
begin
if (nCode >= 0) and (wParam = WM_KEYDOWN) and (PKbdDLLHookStruct(lParam)^.vkCode = VK_NUMPAD7) then
ShowMessage('Test');
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
end;