特别说明一下,PostMessage和ControlClick后台点击效果一样的,因为AHK源码中的ControlClick就是调用PostMessage来实现的。ControlClick还自动做了坐标换算,所以就不要浪费时间测试PostMessage了。以下代码仅供学习

后台键鼠本来就是一件难实现的事,ControlClick的作用范围和局限性比较大。ControlClick不行的话,应该尝试其它后台方法。比如:大漠插件

; 特别说明一下,PostMessage和ControlClick后台点击效果一样的,因为AHK源码中的ControlClick就是调用PostMessage来实现的。ControlClick还自动做了坐标换算,所以就不要浪费时间测试PostMessage了。以下代码仅供学习

; 示例:
PostMessage, 0x201, 0, (210<<16)|1004,, ahk_id 0x10a76
PostMessage, 0x202, 0, (210<<16)|1004,, ahk_id 0x10a76

; 左键点击为一组才安全,先点击再松开
PostMessage, WM_LBUTTONDOWN, 0, (y<<16)|x,, ahk_id %hwnd%
PostMessage, WM_LBUTTONUP, 0, (y<<16)|x,, ahk_id %hwnd%

; PostMessage鼠标点击优点是可以做坐标运算,比如修正DPI偏移
PostMessage, 0x201, 0, (210*(A_ScreenDPI/96)<<16)|1004*(A_ScreenDPI/96),, ahk_id 0x10a76
PostMessage, 0x202, 0, (210*(A_ScreenDPI/96)<<16)|1004*(A_ScreenDPI/96),, ahk_id 0x10a76
/*
============对应按键码============
移动鼠标:
WM_MOUSEMOVE:=0x200

按下鼠标左键:
WM_LBUTTONDOWN:=0x201

释放鼠标左键:
WM_LBUTTONUP:=0x202

双击鼠标左键
WM_LBUTTONDBLCLK:= 0x203

按下鼠标右键:
WM_RBUTTONDOWN:=0x204

释放鼠标右键:
WM_RBUTTONUP:=0x205

双击鼠标右键
WM_RBUTTONDBLCLK:=0x206

按下鼠标中键
WM_MBUTTONDOWN:=0x207

释放鼠标中键
WM_MBUTTONUP:=0x208

双击鼠标中键
WM_MBUTTONDBLCLK:=0x209

*/

; 关闭指定窗口:
PostMessage, 0x112, 0xF060,,, ahk_id 0x10a76
; 指定窗口最小化:
PostMessage, 0x112, 0xF020,,, ahk_id 0x10a76
; 指定窗口最大化:
PostMessage, 0x112, 0xF030,,, ahk_id 0x10a76

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。