前言
在日常使用电脑的过程中,我们经常会遇到一些重复性的操作:
- 每天都要打开相同的软件组合(浏览器、IDE、终端等)
- 游戏中需要反复执行相同的按键序列
- 办公时需要批量处理大量相似的操作
- 需要模拟鼠标点击和键盘输入进行自动化测试
这些重复性操作不仅浪费时间,还容易让人感到疲惫。有没有一种工具可以帮我们自动化这些操作呢?
答案是肯定的!今天要介绍的 QuickInput 就是一个强大的开源宏工具和系统自动化控制软件。
QuickInput 项目简介
QuickInput 是由 GitHub 用户 ChiyukiGana 开发的开源宏工具,旨在帮助用户通过编写简单的脚本实现系统自动化控制。
项目信息
| 项目 | 信息 |
|---|---|
| 开发者 | ChiyukiGana |
| 开源地址 | https://github.com/ChiyukiGana/QuickInput |
| 开源协议 | MIT License |
| 支持平台 | Windows(主要)、Linux(部分支持) |
| 开发语言 | C++ / Python |
| 最新版本 | 查看 GitHub Releases |
核心功能
QuickInput 提供以下核心功能:
- 键盘宏录制和回放:记录键盘操作并回放
- 鼠标自动化:模拟鼠标移动、点击、拖拽
- 脚本编写:使用简单语法编写自动化脚本
- 定时任务:按计划执行自动化任务
- 条件判断:根据条件执行不同操作
- 循环控制:重复执行特定操作
安装 QuickInput
Windows 安装
方法一:下载发布版本
- 访问 GitHub Releases
- 下载最新版本的
QuickInput-Windows-x64.zip - 解压到任意目录(建议放在
C:\Program Files\QuickInput\) - 运行
QuickInput.exe
方法二:从源码编译
# 克隆仓库
git clone https://github.com/ChiyukiGana/QuickInput.git
cd QuickInput
# 安装依赖(Windows)
# 需要安装 Python 3.8+ 和必要的库
pip install -r requirements.txt
# 运行
python main.pyLinux 安装
# 克隆仓库
git clone https://github.com/ChiyukiGana/QuickInput.git
cd QuickInput
# 安装依赖
pip install -r requirements.txt
# 安装系统依赖(Ubuntu/Debian)
sudo apt install python3-tk python3-dev
# 运行
python3 main.py验证安装
安装完成后,运行 QuickInput,应该能看到主界面或命令行提示。
QuickInput 脚本编写
QuickInput 使用一种简单直观的脚本语法来描述自动化操作。
基础语法
1. 键盘输入
# 输入文本
type("Hello, World!")
# 按下单个按键
key("enter")
key("tab")
key("space")
# 组合键
key("ctrl+c") # 复制
key("ctrl+v") # 粘贴
key("alt+tab") # 切换窗口
key("win+r") # 打开运行对话框2. 鼠标操作
# 移动鼠标到指定坐标
mouse_move(100, 200)
# 左键点击
mouse_click()
# 右键点击
mouse_right_click()
# 双击
mouse_double_click()
# 拖拽(从当前位置到目标位置)
mouse_drag(500, 300)
# 鼠标滚轮
mouse_scroll(3) # 向上滚动 3 格
mouse_scroll(-3) # 向下滚动 3 格3. 延迟等待
# 等待指定秒数
sleep(1) # 等待 1 秒
sleep(0.5) # 等待 0.5 秒4. 窗口操作
# 激活窗口(根据窗口标题)
window_activate("记事本")
# 等待窗口出现
window_wait("Chrome")
# 关闭窗口
window_close("记事本")完整脚本示例
示例1:自动打开浏览器并搜索
# 自动打开浏览器并搜索
# 步骤:打开运行对话框 → 输入 chrome → 搜索内容
key("win+r") # 打开运行对话框
sleep(0.5)
type("chrome")
key("enter")
sleep(2) # 等待浏览器启动
# 在地址栏输入搜索内容
key("ctrl+l") # 聚焦地址栏
sleep(0.3)
type("https://www.google.com/search?q=QuickInput+自动化")
key("enter")示例2:自动登录(模拟输入)
# 自动填写表单
# 假设光标已经在用户名输入框
type("myusername")
key("tab")
sleep(0.2)
type("mypassword")
key("enter")示例3:游戏连招宏
# 游戏连招:Q → W → E → R
key("q")
sleep(0.1)
key("w")
sleep(0.1)
key("e")
sleep(0.1)
key("r")实际应用场景
场景1:办公自动化
批量重命名文件
# 模拟在文件资源管理器中操作
key("win+e") # 打开资源管理器
sleep(1)
# ... 导航到目标文件夹
# 选中文件,按 F2,输入新名称自动填写表格
# 自动填写网页表单
type("张三")
key("tab")
type("25")
key("tab")
type("zhangsan@email.com")
key("tab")
key("enter")场景2:游戏自动化
自动刷怪脚本
# 循环执行:攻击 → 拾取 → 移动
for i in range(10):
key("1") # 技能1
sleep(0.5)
key("2") # 技能2
sleep(1)
key("f") # 拾取
sleep(0.3)
mouse_click() # 点击移动
sleep(2)自动钓鱼(模拟)
# 检测到浮标下沉后点击
# 需要配合图像识别(高级用法)
mouse_move(800, 600)
sleep(5) # 等待鱼上钩
mouse_click()
sleep(2)
key("space") # 收杆场景3:系统管理
自动启动开发环境
# 一键启动开发环境
# 打开终端
key("win+x")
sleep(0.3)
key("a") # 选择 Windows Terminal
sleep(1)
# 启动 Docker
type("docker-compose up -d")
key("enter")
sleep(5)
# 打开 VS Code
key("win")
sleep(0.3)
type("vscode")
key("enter")定时备份脚本
# 结合系统定时任务使用
import os
import time
# 模拟操作:打开文件管理器,复制文件
key("win+e")
sleep(1)
# ... 导航到源目录
mouse_right_click()
sleep(0.2)
key("c") # 复制
sleep(0.5)
# ... 导航到目标目录
mouse_right_click()
sleep(0.2)
key("v") # 粘贴高级功能
条件判断
# 如果窗口存在则执行操作
if window_exists("错误"):
key("enter") # 关闭错误提示
log("检测到错误窗口并已关闭")循环控制
# 无限循环(按 Esc 停止)
while True:
key("f5") # 刷新
sleep(60) # 每分钟刷新一次变量和函数
# 定义函数
def login(username, password):
type(username)
key("tab")
type(password)
key("enter")
# 调用函数
login("admin", "123456")快捷键绑定
QuickInput 支持将脚本绑定到全局快捷键:
# 在配置文件中设置
hotkeys = {
"ctrl+alt+t": "open_terminal.qs",
"ctrl+alt+b": "backup_files.qs",
"ctrl+alt+g": "game_macro.qs"
}这样,按下对应快捷键就会执行相应的脚本。
安全注意事项
使用自动化工具时,请注意以下安全事项:
- 不要用于作弊:在在线游戏中使用宏可能违反服务条款,导致封号
- 小心敏感操作:自动化脚本可能意外执行危险操作(如删除文件)
- 测试环境验证:在生产环境使用前,先在测试环境验证脚本
- 权限控制:不要以管理员权限运行不可信的脚本
- 备份重要数据:自动化操作前备份重要文件
常见问题
问题1:脚本执行太快,目标程序跟不上
解决:在关键步骤之间增加 sleep() 延迟。
问题2:坐标定位不准确
解决:使用窗口相对坐标,或结合图像识别功能。
问题3:杀毒软件报毒
解决:QuickInput 是开源工具,可以从源码编译。如果担心,可以提交到 VirusTotal 检测。
总结
QuickInput 是一个功能强大且灵活的开源宏工具,可以帮助我们:
- 节省时间:自动化重复性操作
- 减少错误:避免人工操作失误
- 提高效率:一键完成复杂操作序列
- 灵活定制:通过脚本实现个性化需求
无论你是办公人员、游戏玩家还是系统管理员,QuickInput 都能成为你的得力助手。
在下一篇文章中,我们将深入探讨 QuickInput 的进阶用法,包括复杂宏编写、条件判断、鼠标轨迹模拟等高级技巧,敬请期待!