Delphi全局热键的注册
生活随笔
收集整理的這篇文章主要介紹了
Delphi全局热键的注册
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.在窗啟動時創建ATOM;(aatom:ATOM;定義在private中)
1 if FindAtom('ZWXhotKey')=0 then 2 begin 3 aatom:=GlobalAddAtom('ZWXhotKey'); 4 end; 5 if RegisterHotKey(Handle,aatom,MOD_ALT,$41) then 6 begin 7 MessageBox(Handle,'按alt+a','提示',MB_OK); 8 end;?
2.定義處理熱鍵的消息過程(定義在private中,下面二個處理消息的過程是一樣的)
1 procedure hotkey(var msg:TMessage);message WM_HOTKEY;//定義全局熱鍵消息事件 2 //procedure hotkey2(var msg:TWMHotKey);message WM_HOTKEY;//同上3.消息過程的處理(下面二個IF任選一個即可,如果msg在步驟2定義成TWMHotKey,則不用轉換)
1 procedure TForm2.hotkey(var msg: TMessage); 2 begin 3 if TWMHotKey(msg).HotKey=aatom then 4 begin 5 //ShowMessage('s'); 6 end; 7 if (msg.LParamHi=$41) and (msg.LParamLo=MOD_ALT) then 8 begin //處理事情 13 end; 14 end;4.程序關閉時,刪除熱鍵和原子
1 procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); 2 begin 3 UnregisterHotKey(Handle,aatom); 4 GlobalDeleteAtom(aatom); 5 end;轉載于:https://www.cnblogs.com/chdaner/p/5261856.html
總結
以上是生活随笔為你收集整理的Delphi全局热键的注册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统的起源与发展历程
- 下一篇: java类内存中只能运行一个实例对象