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

2024-09-05 09:32

本文主要是介绍实战:让脚本在任意分辨率通用!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

第一步:首先我们要获取窗口句柄
关于获取窗口句柄的这部分我之前已经写过这个帖子了
大家可以到右侧链接查看: 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)
复制代码

这篇关于实战:让脚本在任意分辨率通用!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138576

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2