Einzelnen Beitrag anzeigen

T.E.

Registriert seit: 27. Mai 2007
Ort: Hamburg
284 Beiträge
 
Delphi XE2 Enterprise
 
#8

Re: Tastendruck im Hintergrund registrieren und Loggen

  Alt 10. Feb 2010, 21:20
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!!
Gruß Torben
  Mit Zitat antworten Zitat