大神在哪?为什么实现不了前后台坐标转换
按键精灵吧
全部回复
仅看楼主
level 1
heevo 楼主
2017年10月04日 14点10分 1
level 1
heevo 楼主
绿色行为录制鼠标动作的坐标
前台程序没问题,转到后台坐标对不上
思路为后台坐标=前台坐标-后台对应的零点坐标(窗口最左上角坐标)
已经录制了前台坐标,通过鼠标移动到窗口零点,用GetCursorPos得到当前坐标
然后用录制坐标-当前坐标得到后台坐标
程序看上去没问题,也没出错
究竟怎么回事
2017年10月04日 14点10分 2
吧务
level 15
如果代码不长的话,建议重新定位
2017年10月04日 15点10分 3
level 2
后台坐标和前台坐标是分开的
后台窗口的移动是以句柄窗口范围内移动的。
2017年10月05日 03点10分 4
那怎么用代码得到前台想对应的后台坐标
2017年10月05日 03点10分
level 2
//dim MyArray
//MyArray = Split(sRect, "|")
//下面这句将字符串转换成数值
//L = Clng(MyArray(0)): T = Clng(MyArray(1))
//R = Clng(MyArray(2)): B = Clng(MyArray(3))
//Msgbox "左" & L & ",右 "& R & ",上" & T & ",下" & B
2017年10月05日 04点10分 5
level 2
sRect = Plugin.Window.GetClientRect(Hwnd)
2017年10月05日 04点10分 6
level 1
heevo 楼主
hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
//得到窗口句柄的客户区大小为: sRect
//MoveTo 651, 534
//Delay 3728
//LeftClick 1
dim MyArray
MyArray = Split(sRect, "|")
//下面这句将字符串转换成数值
L = Clng(MyArray(0)): T = Clng(MyArray(1))
R = Clng(MyArray(2)) : B = Clng(MyArray(3))
//MessageBox L&","&T&","&R&","&B
// "左" & L & ",右 "& R & ",上" & T & ",下" & B
//MoveTo 949, 614//快速注册
Delay 4169
//Call Plugin.Bkgnd.LeftClick(Hwnd, 949-L, 614-T)
用MessageBox得到的数字没错,但是程序对不上
2017年10月07日 16点10分 7
吧务
level 15
还是那句话,如果代码不长的话,建议重新定位
2017年10月08日 00点10分 8
大神用抓抓定位的屏幕坐标也是那个啊
2017年10月08日 03点10分
@heevo 重新定位是指以后台的坐标定位
2017年10月08日 05点10分
回复 🌜神棍🌛 :编了条简单的后台鼠标单击指令,找到问题所在了,按键自带后台不够强大,不能实现后台单击,鼠标移动的指定位置但就是点不进去,后台键盘就没问题,程序不用修改,但要转用大漠或其他后台才行
2017年10月08日 15点10分
1