Delphi 全局热键注册+使用
RAD Studio 10.2.3 测试√
全局变量:
varmHotKey01, mHotKey02: Integer;
1、在程序创建的时候或者窗体显示的时候注册热键
begin// 原子【mHotKey01】mHotKey01 := GlobalAddAtom('xiaoyin_HotKey_CTRL_F1') - $C000;//注册热键【Ctrl + F1】RegisterHotKey(Handle, mHotKey01, MOD_CONTROL, VK_F1);// 原子【mHotKey02】mHotKey02 := GlobalAddAtom('xiaoyin_HotKey_SHIFT_CTRL_F1') - $C000;//注册热键【Ctrl + Shift + F1】RegisterHotKey(Handle, mHotKey02, MOD_CONTROL + MOD_SHIFT, VK_F1);// 如有更多需求,以此类推即可
end;
2、上面注册成功后,此时的热键已经生效,下面就是给相应的热键添加事件
注意:需要声明方法【不管是public还是private还是别的下面都行】
我下面是写在 private 下的
private{ Private declarations }procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY;
// 注册的热键系统收到触发的消息就会程序,然后执行这个方法
procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin// 如果 热键值对上了if (Msg.LparamLo = MOD_CONTROL) and (Msg.LParamHi = VK_F1) thenbeginShowMessage('Ctrl + F1 调用成功');end;if (Msg.LparamLo = MOD_CONTROL + MOD_SHIFT) and (Msg.LParamHi = VK_F1) thenbeginShowMessage('Ctrl + Shift + F1 调用成功');end;
end;
3、用完之后一定记得需要删除热键,不管是在窗体关闭的情况下,还是在销毁的情况下使用都可以
begin// 释放热键【Ctrl + F1】UnRegisterHotKey(handle, mHotKey01);// 删除原子【mHotKey01】GlobalDeleteAtom(mHotKey01);// 释放热键【Ctrl + Shift + F1】UnRegisterHotKey(handle, mHotKey02);// 删除原子【mHotKey02】GlobalDeleteAtom(mHotKey02);
end;
一点点笔记,以便以后翻阅。
Delphi 全局热键注册+使用相关推荐
- Delphi全局热键的注册
1.在窗启动时创建ATOM;(aatom:ATOM;定义在private中) 1 if FindAtom('ZWXhotKey')=0 then 2 begin 3 aatom:=GlobalAddA ...
- linux下qt响应全局热键,Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)...
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...
- 拍牌神器是怎样炼成的(三)---注册全局热键
要想在上海拍牌的超低中标率中把握机会.占得先机,您不仅需要事先准备好最优的竞拍策略,还要制定若干套应急预案,应对不时之需.既定策略交给计算机自动执行,没有问题.可是谁来召唤应急预案呢?使用全局热键应该 ...
- python3 全局热键_python3注册全局热键的实现
之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...
- python3注册全局热键
之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...
- 对VB注册全局热键的思考——是不是RegisterHotKey的1个ID可以注册多组热键?
最近在网络上看到用VB注册热键的代码,试了下,觉得很好用.经过一番分析,我又简化了一下源代码,把没有必要的代码删去,还是能成功.由此引发了一些思考,是不是RegisterHotKeyr的1个ID可以注 ...
- Windows热键注册(反汇编方法 查看win32api 原理)
要像系统注册一个全局热键,需要用到RegisterHotKey,函数用法如下(MSDN): BOOL RegisterHotKey( HWND hWnd, ...
- Qt全局热键(windows篇)
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...
- VB 全局热键HOOK (不占系统资源版本)
VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...
最新文章
- 【Android】AsyncTask异步类
- 读书笔记:php_tizag_tutorial
- BZOJ 1208 宠物饲养所 Splay
- react-navigation StackNavigator 快速点击会多次跳转页面
- 安卓暗黑模式软件_Android App Dark Theme(暗黑模式)适配指南
- springboot - 应用实践(2)第一个springboot应用
- Java学习笔记之JDBC和连接池
- 3cdaemon上传文件到Linux,PC用3CDaemon搭建FTP Server,交换机作为 Client备份配置文件...
- Java与网络调试助手TCP通信
- unity text颜色渐变
- delphi 18位身份证号码的校验
- 数据结构——递归算法、递推算法、穷举算法、分治算法
- Linux C实现纯用户态抢占式多线程!
- php msg oob,MSG_OOB winsock
- 信息系统项目管理师必背核心考点(六十二)项目组合治理主要过程
- kafka内存缓冲池机制造成的频繁GC问题
- 通达信插件获取并存储通达信商品指数的实时数据
- Js Event Loop
- 什么是 Merkle Pollard
- 安卓教程:Xposed 框架安装及使用
热门文章
- 区块链学习6:Mist合约部署与删除
- 计算机如何调成音乐,如何调出适用于我的均衡器设置?
- 编程序,输出1/3-3/5+5/7-7/9…+19/21的结果
- ASM磁盘状态为forcing
- 温州大学X袋鼠云:高等人才教育建设,如何做到“心中有数”
- 计算机考研院校录取人数,2010年计算机考研34所自主划线院校复试成绩及录取人数等详细情况汇总...
- 安装scikit-learn问题
- 今天生日,感概人生!
- Java 服务接入 OpenTracing(2) -- Java 项目快速接入 OpenTracing
- python输出去空格_python不空格