开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 286|回复: 0
打印 上一主题 下一主题
收起左侧

[分享] 大漠函数执行器

[复制链接]
跳转到指定楼层
楼主
发表于 昨天 08:41 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   江西省景德镇市
大漠函数执行器(专业中文化升级版) 使用文档1. 软件概述
大漠函数执行器是一个可视化的脚本编排与执行工具,底层调用大漠插件(dm.dll)实现鼠标键盘模拟、图色查找、文字识别、窗口控制等自动化功能。它将大漠原生英文接口全面中文化,并以树形分类、拖拽式添加的方式,让不熟悉编程的用户也能轻松构建自动化脚本。
主要能力包括:
  • 鼠标移动/点击、键盘按键/组合键
  • 区域找图、找色、找字,支持设置字库
  • 窗口绑定、查找、移动、缩放
  • 屏幕截图保存为 BMP/JPG
  • 条件判断(如果/否则)与循环控制
  • 自定义函数映射(将任意大漠方法包装成中文名称)
  • 脚本保存、热键启动、顺序调整、配置持久化
  • 全局取色、取窗口句柄、区域可视截图等辅助工具


2. 界面布局
主窗口从上到下、从左到右分为以下几个区域:



区域
说明

函数列表 (左侧)以树形结构展示所有可用函数,鼠标悬停可显示详细说明。双击函数节点即可快速添加到执行列表。
执行列表 (中间偏左)当前要执行的命令序列,支持拖拽排序、修改、删除。
操作按钮 (执行列表右侧)“↑ ↓ 删 改”用于调整执行列表中的项;“保存为脚本”将当前执行列表保存为脚本。
脚本列表 (右侧)列出已保存的脚本,显示热键和名称。双击脚本行可设置/更改启动热键。
参数输入栏 (执行列表下方)选中函数或执行项后,在此处以逗号分隔填写参数,点击“添加→”或双击函数树节点加入执行列表。
执行按钮“▶ 执行”立即运行当前执行列表。
全局辅助工具“全局取色”、“全局取窗口”、“全局区域可视截图”、“自定义函数管理”四个快捷工具。
执行日志显示运行过程中的提示、成功/异常信息。
热键设置 (底部)分别设置“启动热键”(默认F5)和“停止热键”(默认F6),点击输入框后直接按键盘即可修改。


3. 函数列表详解
所有函数均以中文名称展示,并附带参数模板(选中后自动填入参数框)。鼠标悬停时气泡显示对应大漠原方法名及详细说明。
3.1 鼠标键盘


函数
参数
说明

鼠标移动x,y瞬间移动鼠标到绝对坐标
移到上次坐标(无)自动移动到最近一次图色/文字操作成功返回的坐标
鼠标左键单击(无)左键单击一次
鼠标右键单击(无)右键单击一次
鼠标中键单击(无)中键单击一次
按下按键键码模拟按键按下并弹起(如13=回车)
按键按下键码按下虚拟键不释放
按键弹起键码弹起之前按下的虚拟键
延时等待毫秒暂停指定毫秒数

3.2 图色查找


函数
参数

区域找图x1,y1,x2,y2,图片路径,偏色,相似度,查找方向
区域找图Ex同上,返回所有匹配坐标串
区域找色x1,y1,x2,y2,颜色值,相似度,查找方向
区域找色Ex同上,返回所有匹配坐标串

注意:“区域找图”和“区域找色”内部会自动提取首个坐标并保存至“上次结果”,供“移到上次坐标”或条件判断使用。如果未找到会抛出异常并记录日志。
3.3 文字识别


函数
参数

区域找字x1,y1,x2,y2,文字,颜色格式,相似度
区域找字Ex同上,返回所有匹配坐标
设置字库序号,文件路径
使用字库序号

3.4 窗口操作


函数
参数

绑定窗口句柄,display,mouse,keypad,mode
查找窗口类名,标题
解除绑定窗口无参数
设置窗口位置句柄,x,y
设置窗口大小句柄,宽,高

3.5 系统控制


函数
参数

屏幕截图x1,y1,x2,y2,文件路径 (保存为BMP)
截图Jpgx1,y1,x2,y2,文件路径,质量
获取截图Bmpx1,y1,x2,y2 (返回数据指针)

3.6 逻辑控制


函数
参数
说明

如果条件true/false/上次成功/上次失败满足条件时执行内部命令,否则跳过直到“否则”或“结束如果”
否则无与“如果条件”配合
结束如果无结束一个条件块
循环开始次数将后续命令(直到“循环结束”)重复执行指定次数
循环结束无循环尾

条件判断说明:
  • true 或 1:永远成立
  • false 或 0:永远不成立
  • 上次成功:最近一次函数执行结果为非空且非“0”时成立
  • 上次失败:与“上次成功”相反


4. 基本操作流程4.1 添加命令到执行列表
  • 在左侧函数树中单击一个具体函数(非分类根节点)。
  • 观察“参数(逗号分隔)”输入框,已自动填入该函数的参数模板。
  • 根据需要修改参数(例如 100,200)。
  • 点击 “添加 →” 按钮,或直接双击该函数树节点,命令即会加入执行列表。

也可以在选中执行列表项后修改参数,点击 “改” 按钮更新该项。
4.2 调整执行顺序
  • 选中执行列表中的某一项,使用右侧 ↑(上移) ↓(下移) 按钮调整顺序。
  • 点击 “删” 删除选中项。
  • 双击执行列表中的某项也可以直接将其删除。

4.3 执行脚本
  • 配置好执行列表后,点击绿色 “▶ 执行” 按钮,或按下当前设置的“启动热键”(默认 F5)。
  • 执行过程中,日志区会实时显示每条命令的执行情况与返回值。
  • 需要中途停止时,按下“停止热键”(默认 F6)。

4.4 使用逻辑控制
  • 先添加“如果条件”,参数填写判断规则。
  • 在“如果条件”与“结束如果”之间插入需要在条件成立时执行的命令。
  • 可选添加“否则”分支。
  • 最后以“结束如果”闭合。

循环用法类似:先添加“循环开始 3”(重复3次),再添加循环内部的命令,最后以“循环结束”结尾。

5. 脚本管理5.1 保存当前执行列表为脚本
  • 确保执行列表中有命令。
  • 点击 “保存为脚本”,输入脚本名称,确认后脚本将出现在右侧脚本列表中,初始热键为“未设置”。

5.2 为脚本设置热键
  • 在脚本列表中双击某一行,会弹出“设置热键”窗口,按下你想绑定的键盘按键(不支持组合键修饰符,仅单键),该脚本即可通过该热键直接启动执行。

5.3 脚本排序与删除
  • 使用脚本列表下方的 “上移”、“下移” 调整脚本顺序。
  • 点击 “删除” 删除选中脚本。


6. 全局辅助工具6.1 全局取色
  • 鼠标按住 “全局取色” 按钮不放,拖动到目标像素点后松开,日志区会显示该点的屏幕坐标和颜色值(十六进制)。

6.2 全局取窗口
  • 按住 “全局取窗口” 按钮并拖拽到目标窗口上松开,将获取窗口句柄、标题和类名,便于后续绑定或查找窗口使用。

6.3 全局区域可视截图
  • 点击 “全局区域可视截图”,屏幕将显示半透明遮罩,鼠标左键拖选区域,右键取消。
  • 选区确认后,弹出保存对话框,可将选中区域保存为 BMP 文件(内部调用 Capture)。

6.4 自定义函数管理
点击 “自定义函数管理” 打开管理窗口,可将大漠任意原生方法包装为中文名称,方便复用。
添加自定义函数需填写:
  • 显示名称:在函数树中显示的中文名。
  • 大漠方法名:如 MoveTo、FindStrFast 等。
  • 参数模板:显示在节点后的提示(如 x,y)。
  • 参数类型(可选):以逗号分隔的 .NET 类型名,如 System.Int32,System.Int32;不填则默认全部按字符串传递。
  • 帮助说明:鼠标悬停时的详细描述。

保存后,自定义函数会自动出现在左侧函数列表的“自定义函数”分类下,并可像内置函数一样使用(参数转换、返回值处理完全兼容)。所有自定义函数会随主配置一起保存和加载。

7. 配置文件与持久化
  • 保存配置:将当前所有脚本(含热键映射)和自定义函数写入程序目录下的 dm_scripts.txt 和 dm_custom_functions.txt。
  • 加载配置:从上述文件恢复脚本列表和自定义函数。
  • 软件关闭时不会自动保存,你需要手动点击“保存配置”或在退出前保存。主窗体的 FormClosed 事件虽然被注释掉,但建议用户在需要时手动保存。
  • 若需要开机自启或保留工作现场,请在关闭程序前点击“保存配置”,下次启动后手动“加载配置”。


8. 热键执行规则
  • 启动热键(默认F5):按下时运行“执行列表”中的所有命令。
  • 停止热键(默认F6):中断正在运行的任务。
  • 脚本独立热键:为每个脚本设置的热键仅触发该脚本;若当前已有任务在运行,新触发会被忽略并在日志中提示。
  • 所有热键通过底层 GetAsyncKeyState 轮询,响应灵敏且不干扰前台按键。
  • 修改热键:直接单击底部输入框,然后按下目标键即可自动替换。


9. 注意事项
  • 大漠插件依赖
    使用前请确保 dm.dll 已正确注册(注册 dm.dll 到系统),且程序已创建了 dm 对象(源码中未展示初始化部分,实际运行需要绑定大漠对象)。如果提示“未将对象引用设置到对象的实例”,请检查大漠插件注册和免注册调用方式。
  • 坐标与屏幕分辨率
    鼠标移动与图色查找均基于当前主屏幕绝对坐标,多显示器用户请以主屏坐标系为准。
  • 参数格式
    所有参数以英文逗号 , 分隔,路径中不要包含额外逗号;路径空格可正常解析。
  • 错误处理
    如果某条命令执行时发生异常(如找图失败),异常信息会打印到日志,但脚本会继续执行后续命令(除非你使用了条件判断与循环控制)。这与一些脚本引擎“遇错即停”不同,请留意。
  • 线程安全
    脚本在后台线程执行,UI 更新通过 Invoke 同步,因此执行期间界面可能稍有延迟,但不会假死。
  • 自定义函数参数类型
    若指定了 System.Int32 等类型,程序会尝试强制转换;转换失败仍以字符串传递,请确保类型匹配以避免运行时错误。


10. 快速入门示例
任务:自动打开记事本,输入“Hello”,截图保存。
  • 窗口操作 → 添加“查找窗口”(参数 Notepad,无标题 - 记事本),运行后得到句柄。
  • 添加“绑定窗口”(句柄填写实际返回值,模式按需)。
  • 添加“延时等待 500”。
  • 鼠标键盘 → 添加“按下按键 13”(回车,确保记事本激活)。
  • 添加“按键按下 16”(Shift) → “按下按键 72”(H) → “按键弹起 16”,完成大写 H。
  • 依次按下其余字母(可自行查键码)。
  • 系统控制 → 添加“屏幕截图”(参数 0,0,300,200,C:\hello.bmp)。
  • 点击 ▶ 执行,或保存为脚本并绑定热键。

更复杂的图色判断、循环逻辑也可按需组合。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表