ChiyukiGana/QuickInput:用开源宏工具实现系统自动化控制

2022-07-10 Windows

前言

在日常使用电脑的过程中,我们经常会遇到一些重复性的操作:

  • 每天都要打开相同的软件组合(浏览器、IDE、终端等)
  • 游戏中需要反复执行相同的按键序列
  • 办公时需要批量处理大量相似的操作
  • 需要模拟鼠标点击和键盘输入进行自动化测试

这些重复性操作不仅浪费时间,还容易让人感到疲惫。有没有一种工具可以帮我们自动化这些操作呢?

答案是肯定的!今天要介绍的 QuickInput 就是一个强大的开源宏工具和系统自动化控制软件。

QuickInput 项目简介

QuickInput 是由 GitHub 用户 ChiyukiGana 开发的开源宏工具,旨在帮助用户通过编写简单的脚本实现系统自动化控制。

项目信息

项目 信息
开发者 ChiyukiGana
开源地址 https://github.com/ChiyukiGana/QuickInput
开源协议 MIT License
支持平台 Windows(主要)、Linux(部分支持)
开发语言 C++ / Python
最新版本 查看 GitHub Releases

核心功能

QuickInput 提供以下核心功能:

  1. 键盘宏录制和回放:记录键盘操作并回放
  2. 鼠标自动化:模拟鼠标移动、点击、拖拽
  3. 脚本编写:使用简单语法编写自动化脚本
  4. 定时任务:按计划执行自动化任务
  5. 条件判断:根据条件执行不同操作
  6. 循环控制:重复执行特定操作

安装 QuickInput

Windows 安装

方法一:下载发布版本

  1. 访问 GitHub Releases
  2. 下载最新版本的 QuickInput-Windows-x64.zip
  3. 解压到任意目录(建议放在 C:\Program Files\QuickInput\)
  4. 运行 QuickInput.exe

方法二:从源码编译

# 克隆仓库
git clone https://github.com/ChiyukiGana/QuickInput.git
cd QuickInput

# 安装依赖(Windows)
# 需要安装 Python 3.8+ 和必要的库
pip install -r requirements.txt

# 运行
python main.py

Linux 安装

# 克隆仓库
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. 不要用于作弊:在在线游戏中使用宏可能违反服务条款,导致封号
  2. 小心敏感操作:自动化脚本可能意外执行危险操作(如删除文件)
  3. 测试环境验证:在生产环境使用前,先在测试环境验证脚本
  4. 权限控制:不要以管理员权限运行不可信的脚本
  5. 备份重要数据:自动化操作前备份重要文件

常见问题

问题1:脚本执行太快,目标程序跟不上

解决:在关键步骤之间增加 sleep() 延迟。

问题2:坐标定位不准确

解决:使用窗口相对坐标,或结合图像识别功能。

问题3:杀毒软件报毒

解决:QuickInput 是开源工具,可以从源码编译。如果担心,可以提交到 VirusTotal 检测。

总结

QuickInput 是一个功能强大且灵活的开源宏工具,可以帮助我们:

  1. 节省时间:自动化重复性操作
  2. 减少错误:避免人工操作失误
  3. 提高效率:一键完成复杂操作序列
  4. 灵活定制:通过脚本实现个性化需求

无论你是办公人员、游戏玩家还是系统管理员,QuickInput 都能成为你的得力助手。

在下一篇文章中,我们将深入探讨 QuickInput 的进阶用法,包括复杂宏编写、条件判断、鼠标轨迹模拟等高级技巧,敬请期待!