Hallo!
Heiße Tasten - Aus einer Frage heraus habe ich festgestellt, das es hier noch kein Beispiel für Systemweite Hot-Key's gibt.
Also wird's Zeit dafür
Delphi-Quellcode:
///////////////////////////////////////////
// Beispiel: Shift F1 als Hot-Key setzen //
///////////////////////////////////////////
// Infos zu den Paramater
// MOD_ALT ALT muß gedrückt sein
// MOD_CONTROL CTRL muß gedrückt sein
// MOD_SHIFT SHIFT muß gedrückt sein
// MOD_WIN WINDOWS-Taste muß gedrückt sein
unit HotKeyForm;
interface
uses
...
type
TForm1 =
class(TForm)
procedure FormCreate(Sender:TObject);
private
{ Private-Deklarationen }
HotKeySet:Boolean;
protected
{ Protected-Deklarationen }
procedure WMHotKey(
var Message:TMessage);
message WM_HOTKEY;
...
end;
var
Form1: TForm1;
implementation
{$*.dfm}
const
HotKeyID=1;
procedure TForm1.FormCreate(Sender:TObject);
begin
HotKeySet:=RegisterHotKey(Self.Handle, HotKeyID, MOD_SHIFT, VK_F1);
If not HotKeySet
then
ShowMessage('
Hot-Key konnte nicht gesetzt werden:'#13+SysErrorMessage(GetLastError));
end;
procedure TForm1.FormDestroy(Sender:TObject);
begin
// Nur UnregisterHotKey aufrufen wenn HotKeySet True ist!
If HotKeySet
then // <- Und den Fehler hat keiner gesehen :) Da war ein not drin
UnRegisterHotKey(Self.Handle, HotKeyID);
end;
procedure TForm1.WMHotKey(
var Message:TMessage);
begin
If Message.wParam=HotKeyID
then
ShowMessage('
Hot-Key "Shift F1" funktioniert!');
end;
Aber nicht das Ihr jetzt alle Programme mit Sinnlosen Hot-Key's zupflanzt
Stichwort für Suche: Globale Hotkeys
[edit=CalganX]Titel, Klassifizierung. Mfg, CalganX[/edit]
[edit=SirThornberry]Stichwort auf Wunsch hinzugefügt - Mfg, SirThornberry[/edit]