关于程序热键,不是系统级热键(50分)

  • 主题发起人 主题发起人 renaihao
  • 开始时间 开始时间
R

renaihao

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormCreate(Sender: TObject);
begin
OptWinhotkeyid:=GlobalAddAtom(pchar('OptWinHotkey'))-$C000;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
RegisterHotKey(Handle, OptWinhotkeyid, MOD_ALT, key);//ALT+F1
end;


我用了这个注册了热键

但是我只想这个热键在当前程序上

如果焦点不在这个程序上 我不想这个热键生效应该怎么做呢?

也就是说想程序级的热键 而不是系统级的热键 帮帮偶吧 谢谢
 
不知道FORM 的键预览是否可以
 
在WM_HOTKEY消息的处理程序的第一句加上这句话
if GetForegroundWindow <> Handle then Exit;
 
后退
顶部