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全局热键的注册相关推荐
- python3 全局热键_python3注册全局热键的实现
之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...
- Delphi 全局热键注册+使用
RAD Studio 10.2.3 测试√ 全局变量: varmHotKey01, mHotKey02: Integer; 1.在程序创建的时候或者窗体显示的时候注册热键 begin// 原子[mHo ...
- 拍牌神器是怎样炼成的(三)---注册全局热键
要想在上海拍牌的超低中标率中把握机会.占得先机,您不仅需要事先准备好最优的竞拍策略,还要制定若干套应急预案,应对不时之需.既定策略交给计算机自动执行,没有问题.可是谁来召唤应急预案呢?使用全局热键应该 ...
- python3注册全局热键
之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...
- linux下qt响应全局热键,Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)...
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...
- 对VB注册全局热键的思考——是不是RegisterHotKey的1个ID可以注册多组热键?
最近在网络上看到用VB注册热键的代码,试了下,觉得很好用.经过一番分析,我又简化了一下源代码,把没有必要的代码删去,还是能成功.由此引发了一些思考,是不是RegisterHotKeyr的1个ID可以注 ...
- Qt全局热键(windows篇)
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...
- VB 全局热键HOOK (不占系统资源版本)
VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...
- vb全局热键的写法(占很少的资源)
看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. -----------在窗体------------------- 程序代码: Private ...
最新文章
- mysql递归sql_SQL如何实现MYSQL的递归查询,SQL实现MYSQL递归
- 世界很大,先从这几个公众号看起!
- UEStudio20中文版
- java自学难点_java学习重难点
- SQL语句中LEFT JOIN、JOIN、INNER JOIN、RIGHT JOIN的区别?
- isvisible java_.NET(C#) Selenium操作调用浏览器判断页面元素(ElementIsVisible)可见的方法...
- 设计模式之禅之设计模式-组合模式
- 通过用户登陆消息类,来学习面向对象的实体统一接口和验证统一接口
- CF1060C Maximum Subrectangle
- Mac Crack路欧词典(所有版本)
- Python数据库连接池DBUtils(基于pymysql模块连接数据库)
- python运算优先级
- JavaScript高级程序设计——开篇前言
- 基于java校园新闻管理系统数据库模块的论文_校园新闻管理系统设计与实现
- java面试问题与心得
- 简单正方体的3d旋转
- ps如何设置滚动鼠标放大和缩小图像
- AlphaStar: Mastering the Real-Time Strategy Game StarCraft II 博客阅读
- 数组传参(一维数组、二维数组)
- 第03课:储备-用户故事精要(iPad 版)