07. september 2001 - 11:45
Der er
2 kommentarer og
1 løsning
Globale Windowstastaturgenveje?
Hej !
Hvordan opretter jeg i Delphi, en genvej der kan bruges ligegyldigt om mit program har fokus? f.eks. vil jeg kunne sidde i word og trykke CTRL+SHIFT+Q, og så skal mit program lave noget kode, poppe op og give et tekstfelt focus ( kan jeg godt selv :] ), men det med at registrere et slags hook, der ikke optager alt for mange ressourcer ( altså ikke noget med at sortere alle windowsmessages igennem :] )....
På forhånd tak.
Ulrik Jensen
ulrik@qcom.dk
07. september 2001 - 13:06
#1
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end;
var
Form1: TForm1;
id,id2:Integer;
implementation
{$R *.DFM}
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=81) then
begin
ShowMessage(\'Ctrl + Q!\');
end;
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82) then
begin
ShowMessage(\'Ctrl + R!\');
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom(\'hotkey\');
RegisterHotKey(handle,id,mod_control,81);
id2:=GlobalAddAtom(\'hotkey2\');
RegisterHotKey(handle,id2,mod_control,82);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
UnRegisterHotKey(handle,id2);
end;
07. september 2001 - 13:12
#3
ok, takker, jeg kigger lige på det og vender tilbage....