![]() |
Programm per Tastenkombination aufrufen
Hi!
Ich habe ein kleines Toll geschrieben. Ich möchte aber, dass dieses Tool nur aufgerufen wird, wenn man eine bestimmte Tastenkombination drückt, z.B. [STRG]+[T]. Wie kann ich das anstellen? thx im Voraus! Gruß Gentleman! |
Re: Programm per Tastenkombination aufrufen
Hi Lennard,
1. Möglichkeit: das ist imho nur mit einer Verknüpfung auf dem Desktop und einer darauf zugewiesener Tastenkombination möglich, es sei, Du hast eine Tastatur mit frei belegbaren Tasten. 2. Möglichkeit: Programm ist schon als Prozess gestartet und fängt systemweit die Tastaturcodes ab, um sich dann beim Hotkey zu zeigen(wie Realplayer o.ä.) mfg BrunoT |
Re: Programm per Tastenkombination aufrufen
Delphi-Quellcode:
uses
ShellApi; // ShellExecute type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private iHotKeyStrgT: integer; procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; public end; implementation procedure TForm1.WMHotKey(var Msg: TWMHotKey); begin if Msg.HotKey = iHotKeyStrgT then ShellExecute(0, 'open', PChar(sDir + '\Programm.exe'), nil, nil, SW_SHOWNORMAL); end; procedure TForm1.FormCreate(Sender: TObject); const MOD_CONTROL = 2; VK_T = $54; begin iHotKeyStrgT := GlobalAddAtom('Hotkey_StrgT'); // könnte man auch noch den programmnamen einbaun -> Application.Title bspsweise RegisterHotKey(Handle, iHotKeyStrgT, MOD_CONTROL, VK_T); end; procedure TForm1.FormDestroy(Sender: TObject); begin UnRegisterHotKey(Handle, iHotKeyStrgT); GlobalDeleteAtom(iHotKeyStrgT); end; |
Re: Programm per Tastenkombination aufrufen
Danke für die Hilfe!
Ich habe in barf00s Code nur den ShellExecute Befehl durch Visible:= True verändert, da ich mein Programm nicht immer neu starten möchte. funzt super ^^ :cheers: . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz