• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[昨夜星辰] 【按键精灵基础】窗口坐标范围 [复制链接]

1#
什么是窗口坐标范围?即进行键鼠、图色操作时,窗口内鼠标可移动单击、找图、找色的坐标范围。

窗口组成:


由上图可知,窗口由窗口边框和窗口客户区组成,窗口边框大小加上窗口客户区大小即为窗口大小。一般我们平时说的窗口分辨率,即是指的窗口客户区大小。若窗口无边框,则窗口大小等于窗口客户区大小。

由于电脑主题不同的情况下,窗口边框大小是不固定的,而窗口客户区大小则不会变,所以我们一般在执行键鼠、图色操作时,通常会选择以窗口客户区的起点作为操作的起点。

我们还需要知道的是坐标是从0开始计算的,所以窗口客户区的坐标范围实际为0,0,(客户区宽-1),(客户区高-1)。

鼠标操作、取色操作时,坐标是一组,即x和y。而找图、找色时,坐标是两组,即x1,y1,x2,y2。

所以窗口鼠标操作、取色的最小坐标为0,0,最大坐标为(客户区宽-1),(客户区高-1),而找图和找色,最小坐标范围则为0,0,1,1,最大坐标范围为0,0,客户区宽,客户区高。因为图片的尺寸至少为1X1的缘故,若找图、找色最小范围为0,0,0,0,将是错误的。事实上将0,0,1,1这个范围进行截图,你也会发现,图片中只包含0,0这一个坐标点的颜色。另外需要注意的是,按键精灵自带的找图功能,在查找图片的时候虽然找图范围可以等于图片尺寸,但部分第三方插件的找图范围必须大于图片尺寸。为了保险起见,在找图的时候图片最大尺寸应当小于客户区大小。

获取窗口客户区信息:
  1. Dim hwnd, 窗口客户区信息, 起点x, 起点y, 客户区宽, 客户区高
  2. hwnd = 597910 '指定窗口句柄
  3. 窗口客户区信息 = 获取窗口客户区信息(hwnd)
  4. 起点x = 窗口客户区信息(0)
  5. 起点y = 窗口客户区信息(1)
  6. 客户区宽 = 窗口客户区信息(2)
  7. 客户区高 = 窗口客户区信息(3)
  8. Function 获取窗口客户区信息(hwnd)
  9. Dim ret
  10. ret = Plugin.Window.GetClientRect(Hwnd)
  11. ret = Split(ret, "|")
  12. 获取窗口客户区信息 = Array(CInt(ret(0)), CInt(ret(1)), CInt(ret(2)), CInt(ret(3)))
  13. End Function
复制代码
窗口内鼠标操作代码:
  1. MoveTo 起点x, 起点y'鼠标移动至窗口客户区左上角
  2. MoveTo 起点x + 客户区宽 - 1, 起点y + 客户区高 - 1'鼠标移动至窗口客户区右下角
复制代码
窗口内取色操作代码:
  1. Dim x, y
  2. For x = 起点x To 起点x + 客户区宽 - 1
  3. For y = 起点y To 起点y + 客户区高 - 1
  4. TracePrint GetPixelColor(x, y) '取色打印
  5. Next
  6. Next
复制代码
窗口内找色操作代码:
  1. TracePrint Plugin.ColorEx.FindColor(起点x, 起点y, 起点x + 客户区宽, 起点y + 客户区高, "0000FF", 0.9, 0) '查找指定颜色
复制代码
窗口内找图操作代码:
  1. TracePrint Plugin.ColorEx.FindPic(起点x, 起点y, 起点x + 客户区宽, 起点y + 客户区高, "神盾.bmp", 0.9, 0)'查找指定图片
复制代码

最后编辑昨夜星辰 最后编辑于 2022-04-26 17:16:35
近期制作:
传奇私服各种反外挂插件版本挂机软件,可教可售
原神加速、连发辅助工具
天下3自动钓大鱼辅助工具

承接脚本定制,点击下方联系
QQ:250039815

交流群:101296478

2#

当你能飞的时候,就不要放弃飞;当你能梦的时候,就不要放弃梦;当你能爱的时候,就不要放弃爱

3#

大佬,我按照你的方式 我屏幕分辨率为2560-1 X 1440-1 文本缩放100% 显卡1650 SUPER 刷新频率(59.951Hz) 鼠标移动窗口初始位置正常,移动到右下角的时候超出了窗口很多

4#

,

感谢大佬分享

发新话题 回复该主题