自动操作工具
这是一个基于Java开发的自动操作工具,可以帮助用户自动执行重复性的软件操作任务。通过记录和回放操作序列,减少重复工作,提高工作效率。
软件界面预览
任务列表界面

50666182950)
任务编辑界面

步骤编辑界面

主要功能
- 记录软件操作步骤,包括鼠标点击、快捷键操作和文本粘贴
- 自动化执行已保存的操作序列
- 智能获取鼠标坐标位置(支持稳定检测)
- 支持设置操作间等待时间
- 支持动态变量,增强任务灵活性
技术架构
- 基于Spring Boot 3开发,利用其依赖注入和自动配置功能
- 使用Java AWT Robot实现鼠标键盘模拟
- Swing图形界面,提供友好的用户交互
- 序列化存储任务配置,确保数据持久化
- 模块化设计,便于扩展和维护
实现原理
1. 鼠标键盘模拟
- 使用
java.awt.Robot类模拟鼠标移动、点击和键盘按键 - 通过
robot.mouseMove(x, y)移动鼠标到指定坐标 - 通过
robot.mousePress()和robot.mouseRelease()实现鼠标点击 - 通过
robot.keyPress()和robot.keyRelease()实现键盘按键
2. 坐标捕获
- 使用
CoordinateCapture类监控鼠标位置 - 通过
MouseInfo.getPointerInfo().getLocation()获取实时鼠标位置 - 当鼠标位置保持稳定5秒后,自动捕获坐标
- 使用调度器(
ScheduledExecutorService)实现周期性检测

3. 快捷键录制
- 使用
KeyboardFocusManager全局捕获键盘事件 - 记录用户按下的所有按键,构建快捷键组合
- 支持修饰键(Ctrl、Alt、Shift、Win)和普通键的组合
- 当用户松开按键后自动保存快捷键组合

4. 任务执行
- 通过
TaskExecutorService服务管理任务执行 - 按照步骤顺序依次执行操作
- 支持三种操作类型:坐标点击、快捷键和文本粘贴
- 在每个步骤之间添加可配置的等待时间

详细使用指南
创建自动任务
- 启动应用后,在主界面点击"新建任务"按钮
- 在弹出的对话框中输入任务名称(必填)
- 选择软件启动文件(可选,如需自动启动目标程序)
- 点击"创建"按钮,进入任务编辑界面
- 添加操作步骤,构建完整的操作序列
- 点击"保存"按钮保存任务
添加和编辑步骤
- 在任务编辑界面点击"添加步骤"按钮
- 在步骤设置对话框中,输入步骤名称(便于识别)
- 选择操作类型:
- 使用快捷键:通过键盘快捷键执行操作
- 使用坐标:通过鼠标点击特定位置执行操作
- 使用复制粘贴:向目标位置粘贴文本
- 根据选择的操作类型,设置相应参数
- 设置执行后等待时间(秒),控制步骤间隔
- 点击"确定"保存步骤
录制快捷键详细步骤
- 在步骤编辑界面选择"使用快捷键"选项
- 点击"录制快捷键"按钮,打开录制对话框
- 点击"开始录制"按钮,对话框进入录制状态
- 按下您想要录制的快捷键组合(如Ctrl+Shift+A)
- 松开按键后,系统会自动保存该组合
- 确认快捷键组合无误后,点击"确认"按钮
- 快捷键会自动填入到步骤设置界面中
捕获坐标详细步骤
- 在步骤编辑界面选择"使用坐标"选项
- 点击"捕获坐标"按钮,打开坐标捕获对话框
- 点击"开始捕获"按钮,开始监控鼠标位置
- 将鼠标移动到目标位置(如按钮、输入框等)
- 保持鼠标静止不动约5秒钟
- 系统会自动捕获坐标,并在对话框中显示
- 捕获成功后,对话框会自动关闭,坐标值填入步骤设置界面
设置文本粘贴
- 在步骤编辑界面选择"使用复制粘贴"选项
- 选择粘贴值类型:
- 固定值:输入固定的文本内容
- 动态值:选择或创建一个动态变量
- 如选择固定值,直接在文本框中输入内容
- 如选择动态值,从下拉列表选择已有变量或创建新变量
- 点击"确定"保存步骤
调整步骤顺序
- 在任务编辑界面的步骤列表中选择要调整的步骤
- 使用"上移"和"下移"按钮调整步骤的执行顺序
- 步骤会按照列表中的顺序从上到下依次执行
运行任务
- 在主界面的任务列表中选择要运行的任务
- 点击"运行任务"按钮
- 如果任务包含动态变量,系统会提示输入变量值
- 确认后,系统会按照预设步骤自动执行操作
- 执行过程中请勿移动鼠标或使用键盘
- 任务执行完成后会显示执行结果
核心类和方法说明
1. AutoTask 类
负责存储任务配置信息,包括任务名称、启动文件路径和步骤列表等。
2. Step 类
表示一个操作步骤,包含步骤名称、操作类型、坐标信息、快捷键、等待时间等属性。
3. TaskExecutorService 类
负责执行自动任务,包括启动应用程序、模拟鼠标点击、按下快捷键和文本粘贴等操作。
4. CoordinateCapture 类
实现坐标捕获功能,通过监控鼠标位置变化,在位置稳定后自动捕获坐标。
5. MainFrame 类
主界面类,提供任务管理、编辑和执行的用户界面。
6. TaskEditDialog 类
任务编辑对话框,用于创建和编辑任务信息。
7. StepDialog 类
步骤编辑对话框,用于设置步骤参数,包括快捷键录制和坐标捕获功能。
注意事项
- 运行任务时请勿移动鼠标或键盘,以免干扰自动操作
- 对于无法通过坐标稳定点击的界面元素,优先使用快捷键
- 任务数据保存在用户目录下的.auto-tasks文件夹中
- 坐标位置可能因屏幕分辨率变化而失效,需要重新捕获
- 如任务执行失败,可尝试增加步骤间等待时间
- 复杂操作建议拆分为多个简单步骤,提高稳定性
系统要求
- Java 17或更高版本
- Windows操作系统
- 最低1GB内存
- 屏幕分辨率1024x768或更高
常见问题解答
-
Q: 为什么坐标捕获不成功?
A: 请确保鼠标在目标位置保持静止至少5秒,期间不要移动鼠标。 -
Q: 如何录制组合快捷键?
A: 在录制快捷键时,同时按下所有需要的按键(如Ctrl+Shift+A),系统会自动识别组合。 -
Q: 任务执行过程中可以中断吗?
A: 可以,按下Esc键可以中断正在执行的任务。 -
Q: 如何处理需要动态输入的情况?
A: 可以使用"动态值"功能,在运行任务前会提示输入具体值。 -
Q: 录制的快捷键不起作用怎么办?
需要的按键(如Ctrl+Shift+A),系统会自动识别组合。 -
Q: 任务执行过程中可以中断吗?
A: 可以,按下Esc键可以中断正在执行的任务。 -
Q: 如何处理需要动态输入的情况?
A: 可以使用"动态值"功能,在运行任务前会提示输入具体值。 -
Q: 录制的快捷键不起作用怎么办?
A: 确认目标程序是否支持该快捷键,或尝试使用坐标点击对应按钮。
**
想要源码在评论区评论666
**

被折叠的 条评论
为什么被折叠?



