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全局热键的注册相关推荐

  1. python3 全局热键_python3注册全局热键的实现

    之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...

  2. Delphi 全局热键注册+使用

    RAD Studio 10.2.3 测试√ 全局变量: varmHotKey01, mHotKey02: Integer; 1.在程序创建的时候或者窗体显示的时候注册热键 begin// 原子[mHo ...

  3. 拍牌神器是怎样炼成的(三)---注册全局热键

    要想在上海拍牌的超低中标率中把握机会.占得先机,您不仅需要事先准备好最优的竞拍策略,还要制定若干套应急预案,应对不时之需.既定策略交给计算机自动执行,没有问题.可是谁来召唤应急预案呢?使用全局热键应该 ...

  4. python3注册全局热键

    之前用python3做游戏自动化脚本,用过很多东西,然后最终有一套完整的方案.在这里随便阐述一下核心思路: 游戏辅助的窗体设计方面: 不需要pyqt这种大型软件,写小工具用自带的tkinter就行了. ...

  5. linux下qt响应全局热键,Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)...

    Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...

  6. 对VB注册全局热键的思考——是不是RegisterHotKey的1个ID可以注册多组热键?

    最近在网络上看到用VB注册热键的代码,试了下,觉得很好用.经过一番分析,我又简化了一下源代码,把没有必要的代码删去,还是能成功.由此引发了一些思考,是不是RegisterHotKeyr的1个ID可以注 ...

  7. Qt全局热键(windows篇)

    Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个是W ...

  8. VB 全局热键HOOK (不占系统资源版本)

    VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...

  9. vb全局热键的写法(占很少的资源)

    看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. -----------在窗体------------------- 程序代码: Private  ...

最新文章

  1. mysql递归sql_SQL如何实现MYSQL的递归查询,SQL实现MYSQL递归
  2. 世界很大,先从这几个公众号看起!
  3. UEStudio20中文版
  4. java自学难点_java学习重难点
  5. SQL语句中LEFT JOIN、JOIN、INNER JOIN、RIGHT JOIN的区别?
  6. isvisible java_.NET(C#) Selenium操作调用浏览器判断页面元素(ElementIsVisible)可见的方法...
  7. 设计模式之禅之设计模式-组合模式
  8. 通过用户登陆消息类,来学习面向对象的实体统一接口和验证统一接口
  9. CF1060C Maximum Subrectangle
  10. Mac Crack路欧词典(所有版本)
  11. Python数据库连接池DBUtils(基于pymysql模块连接数据库)
  12. python运算优先级
  13. JavaScript高级程序设计——开篇前言
  14. 基于java校园新闻管理系统数据库模块的论文_校园新闻管理系统设计与实现
  15. java面试问题与心得
  16. 简单正方体的3d旋转
  17. ps如何设置滚动鼠标放大和缩小图像
  18. AlphaStar: Mastering the Real-Time Strategy Game StarCraft II 博客阅读
  19. 数组传参(一维数组、二维数组)
  20. 第03课:储备-用户故事精要(iPad 版)

热门文章

  1. java动态代理技术
  2. SpringCloud和SprigBoot之间的依赖关系怎么看
  3. 硬件知识:串口通讯的起始、数据、停止位是怎么分配的?
  4. 2019 Vue开发指南:你都需要学点啥?
  5. 进程的退出方式以及僵尸进程和孤儿进程
  6. java scanner接收数组_java – 使用scanner将文件中的整数读入数组
  7. vue-cli3插件初体验
  8. Android.对话框(AlertDialog/Toast/Snackbar)
  9. 常见Kotlin高频问题解惑
  10. mysql多表联合删除