Thema: Delphi Tasten global "abfangen"

Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Tasten global "abfangen"

  Alt 6. Jul 2023, 10:07
Nichts gegen die vorigen Vorschläge, dennoch zeig ich mal wie man es nur einmal behandeln könnte, dazu musst Du die .dpr datei modifizieren.
Delphi-Quellcode:
program Project12;

uses
  Winapi.Windows,
  Winapi.MMSystem,
  Vcl.Forms,
  Unit12 in 'Unit12.pas{Form12},
  Unit13 in 'Unit13.pas{Form13};

{$R *.res}

// hotkey behandlung
procedure HotkeyTimer(TimerID, Msg: Uint; dwUser, dw1, dw2: DWord); pascal;
begin
  if ((GetKeyState(VK_F8) and (1 shl 31)) <> 0) then // VK_F8 wird in diesem Beispiel genutzt um ein Formular anzuzeigen
    Form13.Show;
end;

var
  HID: Integer;
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm12, Form12);
  Application.CreateForm(TForm13, Form13);
  // hotkey installieren
  HID := TimeSetEvent(10, 0, @HotkeyTimer, 0, TIME_PERIODIC);
  Application.Run;
  // hotkey entfernen
  TimeKillEvent(HID);
end.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat