实战:让脚本在任意分辨率通用!

下面教大家如何做一个分辨率通用的脚本
相信大家都很需要这个教程吧
我就以按键精灵论坛为例子:我们来做个点击搜索并输入搜索内容

第一步:首先我们要获取窗口句柄
关于获取窗口句柄的这部分我之前已经写过这个帖子了
大家可以到右侧链接查看: http://bbs.vrbrothers.com/viewthread.php?tid=203495
注意:以下部分需要完成第一步先
完成第一步差不多是这样、要注意指定窗口句柄那里一定要打钩
1.jpg 
好了、接着我们继续下一步

第二步:定位起点坐标
这里我们要注意一个地方
定位起点的坐标、应该定位哪里
我们要选取一个每台电脑都显示一样的地方定位坐标
比如我们的按键精灵论坛
2.JPG 
我们在红色圈圈那里定位起点
把鼠标移动要定位起点的定位右击
这个时候你会发现
抓抓的定位起点坐标x,y会出现数字
3.jpg 
另外我们要记得起点坐标的颜色
4.jpg 
色值:EFE1C1
这样我们就完成定位起点坐标了

第三步:加入坐标
我们获取需要点击的坐标
我们做的例子是:点击搜索并输入搜索内容
这是我们要获取搜索的坐标、以及搜索位置的坐标
把搜索的坐标加入点一:<我获取到的坐标是:567,75>
搜为位置坐标加入点二:<我获取到的坐标是:282,252>

第四步:编写代码<获取句柄以及起点坐标>
这个时候我们已经做好的准备工作开始编写代码了
首先大家把我这段代码复制到源码内
  1. hwnd= Plugin.Window.MousePoint()
  2. XY= Plugin.Bkgnd.FindColor(hwnd,0,0,1024,768,"EFE1C1")//要注意修改括号内的颜色值
  3. aa = split(XY, "|")
  4. x = aa(0)
  5. y = aa(1)
  6. If x =-1 Then 
  7. MessageBox "定位起点失败"
  8. Else 
  9. cx = x
  10. TracePrint x
  11. cy = y
  12. TracePrint y
  13. End If
复制代码

要记得修改色值、不然会出错

第五步:<编写坐标代码以及转换>
这是懒人写的代码
  1. Call Plugin.Bkgnd.LeftClick(Hwnd, 0, 0)
复制代码

小若建议用下面这个代码
  1. Call Plugin.Bkgnd.MoveTo(Hwnd, 0, 0)
  2. Delay 32
  3. Call Plugin.Bkgnd.LeftClick(Hwnd, 0, 0)
复制代码

也可以这样写
  1. Call Plugin.Bkgnd.MoveTo(Hwnd, 0, 0)
  2. Delay 32
  3. Call Plugin.Bkgnd.LeftDown(Hwnd, 0, 0)
  4. Delay 100
  5. Call Plugin.Bkgnd.LeftUp(Hwnd, 0, 0)
复制代码

具体看你个人喜欢
要记住修改坐标
大家看下定位后的坐标和不定位的坐标有什么不同
没定位之前
  1. Call Plugin.Bkgnd.MoveTo(Hwnd, 0, 0)
  2. Delay 32
  3. Call Plugin.Bkgnd.LeftClick(Hwnd, 0, 0)
复制代码

定位后
  1. Call Plugin.Bkgnd.MoveTo(Hwnd, 0+cx, 0+cy)
  2. Delay 32
  3. Call Plugin.Bkgnd.LeftClick(Hwnd, 0+cx, 0+cy)
复制代码

我们把我们之前获取到的坐标输入好
如小若刚才获取到的2个坐标
搜索的坐标点一:<我获取到的坐标是:567,75>
搜索位置坐标点二:<我获取到的坐标是:282,252>
代码如下
  1. Call Plugin.Bkgnd.MoveTo(Hwnd, 567+cx, 75+cy)
  2. Delay 32
  3. Call Plugin.Bkgnd.LeftClick(Hwnd, 567+cx, 75+cy)
  4. Delay 500
  5. Call Plugin.Bkgnd.MoveTo(Hwnd, 282+cx, 252+cy)
  6. Delay 32
  7. Call Plugin.Bkgnd.LeftClick(Hwnd, 282+cx, 252+cy)
复制代码


第六步:输入字符串信息到搜索栏内
代码如下
  1. Call Plugin.Bkgnd.SendString(Hwnd, "内容")
复制代码

当然你想自己修改也可以、代码如下
  1. UserVar Var1=0 "设置内容"
  2. Call Plugin.Bkgnd.SendString(Hwnd, Var1)
复制代码

这样我们就完成了分辨率通用的脚本

完成的代码是
  1. //自定义内容
  2. UserVar Var1=0 "设置内容"
  3. //获取句柄以及定位起点
  4. hwnd= Plugin.Window.MousePoint()
  5. XY= Plugin.Bkgnd.FindColor(hwnd,0,0,1024,768,"EFE1C1")
  6. aa = split(XY, "|")
  7. x = aa(0)
  8. y = aa(1)
  9. If x =-1 Then 
  10. MessageBox "定位起点失败"
  11. Else 
  12. cx = x
  13. TracePrint x
  14. cy = y
  15. TracePrint y
  16. End If
  17. //给予适当的延时
  18. Delay 500
  19. //操作
  20. Call Plugin.Bkgnd.MoveTo(Hwnd, 567+cx, 75+cy)
  21. Delay 32
  22. Call Plugin.Bkgnd.LeftClick(Hwnd, 567+cx, 75+cy)
  23. Delay 500
  24. Call Plugin.Bkgnd.MoveTo(Hwnd, 282+cx, 252+cy)
  25. Delay 32
  26. Call Plugin.Bkgnd.LeftClick(Hwnd, 282+cx, 252+cy)
  27. //输入字符串
  28. Call Plugin.Bkgnd.SendString(Hwnd, Var1)
复制代码

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值