打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在非PB窗口中实现键盘按键和鼠标点击动作的检测

在非PB窗口中实现键盘按键和鼠标点击动作的检测

问:如何在非PB窗口中实现键盘按键和鼠标点击动作的检测?如很多屏幕捕捉软件,都可以在非本软件窗口中实现热键响应事件。

答:首先调用api函数RegisterHotKey为窗口注册热键。当热键按下后,windows发送wm_hotkey消息给窗口,这时我们可以在PB窗口的other事件中处理。
定义窗口实例变量:
long atomid
constant integer MOD_ALT = 1 //ALT键
constant integer MOD_CONTROL = 2 //CTRL键
constant integer MOD_SHIFT = 4 //SHIFT键
定义API函数:
FUNCTION Integer GlobalAddAtom(ref string lpString) LIBRARY "kernel32.dll" ALIAS FOR "GlobalAddAtomA"
FUNCTION ulong RegisterHotKey(ulong hwnd,ulong id,ulong fsModifiers,ulong vk) LIBRARY "user32.dll"
在窗口的open事件编写脚本:
//注册热键
long ll_RC
string ls_atomid
ls_atomid = ''myatomid''
atomid = GlobalAddAtom(ls_atomid)
//得到惟一的ID,保证不和其他应用程序发生冲突
ll_RC = RegisterHotKey(Handle(this), atomid, MOD_CONTROL , 70)
//注册的热键为Ctrl+F ,70为''F''
//如果组合键,可用MOD_CONTROL + MOD_ALT等
if ll_RC = 0 then messagebox("Error!","热键注册错误")
//热键注册冲突
在窗口的other事件编写脚本:
//处理系统热键
IF wparam = atomid THEN
//处理
messagebox(''hello'',''你好!'')
END IF

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
鼠标坏了以后,如何利用键盘替代鼠标的功能
delphi 设置全局热键
如何把普通鼠标秒变为挂单神器
QQ如何修改热键?
小鸟学AHK(4)之高级教程:热键
用“按键精灵”快速自动申请QQ号码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服