So nachem ich mich jetzt schon etwas mit Hooks auseinandergesetzt habe, jetzt doch noch mal eine Frage:
Ich habe folgende Funktion, die aufgerufen wird, was ich jetzt noch nicht so ganz gerafft habe sind die folgenden Punkte:
1. Wieso wird die gedrückte Taste viermal eingetragen, bzw. warum wird bei Funktionstasten nicht F1 etc angezeigt, sondern z, w, etc.?
und 2. wie kann ich daraus jetzt ein Logfile mit Datum und Uhrzeit machen? (Mein Versuch mit
WriteLog(Inttostr(lParam));
ist kläglich an eiskaltem schweigen gescheitert...)
Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
sizewritten, hFile: LongWord;
begin
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
case nCode < 0 of
TRUE: exit;
FALSE:
begin
hFile := CreateFile('C:\LogFile.log', GENERIC_WRITE or GENERIC_READ, 0, nil, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if hFile <> INVALID_HANDLE_VALUE then
try
SetFilePointer(hFile, 0, nil, FILE_END);
//WriteFile(hFile, lParam, sizeof(lParam), sizewritten, nil);
WriteFile(hFile, wParam, sizeof(wParam), sizewritten, nil);
finally
CloseHandle(hFile);
end;
end;
end;
end;
Besten Dank im voraus!!