RegisterHotKey(Handle, hotkeyid, 0, VK_F8); 注:handle是一个特殊的变量,它表示当前窗口的句柄。 这个函数你应该能句举一反三了吧。 原理: 一旦热键设置成功,在程序应用过程中如果有相应的键被按下,Windows系统都会给你的应 用程序发送一个消息WM_HOTKEY,不管你的应用程序是否为当前活动的。其中WM_HOTKEY...
热键设置成功后,在程序运行过程中如果有预定义的热键被按下,windows系统都会给应用程序发送一个wm_hotkey消息。 下面用一个例子演示它的使用 编译程序、运行,如果此程序不是当前桌面显示在最前边的窗体,按下ctrl+alt+a后,程序界面将出现在桌面的最上。 示例程序开发平台:D7+WINXP 转载请注明出处。
用程序发送一个消息WM_HOTKEY,不管你的应用程序是否为当前活动的。其中WM_HOTKEY消 息的格式为: idHotKey = (int) wParam; // 该参数在设置系统级的热键有用,一般不予使用 fuModifiers = (UINT) LOWORD(lParam); //热键的辅助按键 uVirtKey = (UINT) HIWORD(lParam); //热键的键值 第三步: 注册了热...
WMHotKey (var Msg : Tmessage); begin {Ctrl+F1键被按下} if (msg.LParamHi=112 ) and (msg.lparamlo=MOD_CONTROL ) then begin msg.Result:=1;//该消息已经被处理 application.BringToFront ; label1.Caption := 'Ctrl+F1'; end; {Ctrl+F2键被按下} if (msg.LParamHi=113 ) and (msg....
⽤程序发送⼀个消息WM_HOTKEY,不管你的应⽤程序是否为当前活动的。其中WM_HOTKEY消息的格式为:idHotKey = (int) wParam; // 该参数在设置系统级的热键有⽤,⼀般不予使⽤ fuModifiers = (UINT) LOWORD(lParam); //热键的辅助按键 uVirtKey = (UINT) HIWORD(lParam); //热键的键值 ...
int id, // identifier of hot key UINT fsModifiers, // key-modifier flags UINT vk // virtual-key code );Parameters hWnd Identifies the window that will receive WM_HOTKEY messages generated by the hot key. If this parameter is NULL, WM_HOTKEY messages are posted to the ...
HotKey_Key: Word; HotKey_Shift: Word; Aatom: Atom; procedure HotKey(var Msg: TMessage); message WM_HOTKEY; //定义全局热键消息事件 ... end; ... procedure TForm1.FormCreate(Sender: TObject); begin Aatom := GlobalAddAtom('MYHOTKEY'); //全局热键ID Get...
procedure hotkey(var msg:tmessage);message wm_hotkey; //定义全局热键消息事件 { Private declarations } public { Public declarations } end;var Form1: TForm1;a,b:integer;implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);begin aatom:=globaladdatom('...
1、定义捕获Windows消息WM_HOTKEY的钩子函数,即:procedureWMHotKey(varMsg:TWMHotKey);messageWM_HOTKEY; 2、向Windows加入一个全局原子Myhotkey:GlobalAddAtom(’MyHotkey’),并保留其句柄。 3、向Windows登记热键:调用API函数RegisterHotKey实现。 三、源程序: unitUnit1; interface uses ...
procedure TForm1.WMHotKey(var Msg: TWMHotKey); begin if Msg.HotKey = HotKeyId then begin ShowMessage('热键被触发'); end; end; ``` 上述代码中,首先使用GlobalAddAtom函数创建一个唯一的原子(Atom),用于标识热键。然后使用RegisterHotKey函数注册热键,指定了热键的组合键和对应的虚拟键码。最后,在窗口...