Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#6

AW: Wie kann ich Tastaturaktionen über meine Anwendung loggen?

  Alt 21. Sep 2021, 09:16
Für den Fall, dass in Application.OnMessage schon was drinne stehen sollte, geht Dir das bei Deiner Implementierung verloren.

Damit Du unabhängiger wirst, speichere Dir doch den Inhalt von Application.OnMessage doch im Create in 'ner Variabel (fAppMessage oder so) und rufe die Routine dann in TKeyLog.AppMessage auf. Ungetestet sowas in der Art:
Delphi-Quellcode:
procedure TKeyLog.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
   if not fActive then begin
     if Assigned(fAppMessage) then fAppMessage(Msg, Handled);
     exit;
   end;
// Geht beides, WM_KeyDown und WM_KEYUP
// if Msg.message = WM_KeyDown then begin
   if Msg.message = WM_KEYUP then begin
      Key := Msg.wParam;
      Timer.Enabled := true;
   end;
   if Assigned(fAppMessage) then fAppMessage(Msg, Handled);
end;
  Mit Zitat antworten Zitat