Skip to content

Repository files navigation

无敌粘贴大法 pro max

绕过"禁止粘贴"限制的模拟打字工具:把文本当作真实键盘输入,逐字"敲"进目标窗口。

平台 Python 版本 License

界面截图

English: A Windows typing-simulation tool that bypasses paste restrictions by typing text as real keyboard input. Its dual input engine (PyDirectInput scan codes with automatic Unicode/SendInput fallback) keeps Chinese characters and special symbols from being dropped. Features include global hotkeys (F8/F9), auto-saved configuration, clipboard/input modes, random intervals, a start delay, and an auto-stop guard when the target window switches back to itself. Single-file EXE, no kernel driver or admin rights required. MIT licensed.

为什么选择本项目

与 GitHub 上同类工具对比(星数数据截至 2026-09):

项目 技术方案 主要短板
freezeLUO/Simulate_keyboard_Input 291 Python + pynput 无热键/配置/自动保存,无 License,需手动切窗口点开始
wed0n/Paster 133 Tauri (Rust + TS) 2023 年后停更;注入受 UIPI 限制,目标以管理员运行时必须同样以管理员运行
colorcard/AutoInputTool 63 Python + Tkinter 固定 3 秒延时,无热键/配置,功能单一
YinChingZ/TypeSimulator 48 C# / .NET 4.8 需安装 .NET Framework 4.8;侧重按键映射
kba977/pywinio 17 winio 内核驱动 需管理员 + 测试模式 + PS/2 键盘/笔记本键盘,门槛高
本项目 - Python + PyQt5 见下方优势

本项目的主要优势:

  1. 双输入引擎自动回退:ASCII 可映射字符走 PyDirectInput(DirectInput 扫描码),中文、大写、特殊符号自动回退 SendInput Unicode,不静默丢字
  2. 面向中文场景:中文界面 + 中英文混输可靠,同类工具大多只针对 ASCII 或需输入法配合
  3. 配置体验完整:界面改动自动保存、原子写入、非法配置项逐项回退、配置文件固定在程序目录——同类基本没有
  4. 热键体验完整:可自定义、改完即时生效、注册失败保留旧键,全程 F8/F9 控制
  5. 安全细节:输入目标切回本窗口时自动停止(避免把文本打进自己的输入框);延时触发、随机间隔、去换行、标点后补空格
  6. 零依赖分发:单文件 exe 内置 PyDirectInput,无需 .NET、无需内核驱动、无需管理员(对比 pywinio 与驱动类方案)
  7. 工程化:33 项离屏自动化测试 + 完整中文文档 + MIT 许可

姊妹项目:Invincible-Paste-promax 提供 Interception 驱动级输入与虚拟机穿透方案(需安装驱动);本项目是其轻量、免驱动的替代实现。

功能特性

核心功能

  • 剪贴板模式:自动从剪贴板获取文本并模拟打字粘贴
  • 输入模式:手动输入文本进行模拟打字
  • 中文字符支持:中英文和标点可靠输入(底层输入失败自动回退键盘事件)

间隔控制

  • 间隔时间:0-1秒可调,默认0秒
  • 随机间隔模式:在设置间隔上随机浮动±50%
  • 延时触发:0-60秒可调,默认0秒

热键功能

  • 自定义触发热键:默认F8
  • 自定义停止热键:默认F9
  • 热键实时生效:修改后自动重新注册;注册失败会保留原热键

安全特性

  • 自动停止:输入目标切回本程序窗口时自动停止
  • 字符处理:移除换行符、标点后添加空格

配置管理

  • 自动保存:界面改动后自动保存到JSON文件
  • 配置加载:启动时自动加载上次配置
  • 手动保存:可点击"保存配置"立即写盘
  • 配置位置:保存在程序(打包后为 exe)所在目录

安装要求

系统要求

  • Windows 7/8/10/11 (推荐Windows 10/11)
  • Python 3.6 或更高版本

Python依赖

pip install -r requirements.txt

或使用启动脚本自动安装:

python run.py

使用方法

快速启动

  1. 安装依赖:pip install -r requirements.txt
  2. 运行程序:python typing_simulator.py 或使用启动脚本:python run.py

基本使用步骤

  1. 选择模式

    • 剪贴板模式:从剪贴板获取文本
    • 输入模式:在文本框中输入文本
  2. 配置参数

    • 设置打字间隔(0-1秒)
    • 启用随机间隔(可选)
    • 设置延时触发(可选)
  3. 开始打字

    • 点击"开始"按钮或按F8热键
    • 程序将模拟打字输入文本
  4. 停止打字

    • 点击"停止"按钮或按F9热键
    • 输入目标切回本窗口时会自动停止

热键配置

  1. 进入"热键设置"标签页
  2. 输入热键名称(如:F8, ctrl+shift+a, alt+f4)
  3. 修改后自动生效;点击"保存配置"可立即校验并保存(失败会弹窗提示并保留原热键)

文件说明

  • typing_simulator.py - 主程序文件
  • run.py - 启动脚本(自动检查依赖)
  • requirements.txt - 依赖包列表
  • test_typing.py - 打字逻辑演示脚本
  • test_directinput.py - 依赖检查与输入测试脚本
  • test_offscreen.py - 离屏自动化测试(配置/热键/线程逻辑)
  • typing_simulator_config.json - 配置文件(程序目录,自动生成)
  • LICENSE - MIT 许可证
  • docs/screenshot.png - 界面截图
  • README.md - 说明文档

配置说明

程序会自动创建配置文件 typing_simulator_config.json,包含以下配置项:

{
  "mode": "clipboard",
  "input_text": "用户输入的文本",
  "interval": 0.0,
  "random_interval": false,
  "delay": 0,
  "auto_stop": true,
  "remove_newlines": false,
  "add_spaces": false,
  "trigger_hotkey": "F8",
  "stop_hotkey": "F9"
}

配置文件带类型校验:非法或超范围的配置项会自动回退默认值(日志中提示),不会影响其他配置项。

常见问题

1. 剪贴板功能不可用

问题:提示"pyperclip未安装" 解决:运行 pip install pyperclip

2. 热键功能不可用

问题:提示"keyboard模块未安装" 解决:运行 pip install keyboard

3. 中文字符显示异常

问题:界面中文字符显示为方框 解决:确保系统已安装中文字体,程序已设置微软雅黑字体

4. 热键冲突

问题:热键与其他程序冲突 解决:在热键设置中修改为其他热键组合(修改后自动生效)

5. 配置没有生效 / 找不到配置文件

问题:改了配置重启后没变化,或找不到配置文件 解决:配置文件固定在程序(打包后为 exe)所在目录的 typing_simulator_config.json;界面改动会自动保存。若手动编辑过 JSON 且格式有误,程序会记录日志并回退默认值

6. 中文打不出来

问题:中文或部分符号没有输入 解决:确认目标窗口已获得焦点;程序会自动在底层输入与键盘事件之间回退,日志中会提示失败的字符

技术实现

架构设计

  • 主线程:PyQt5 GUI界面
  • 工作线程:打字模拟,避免界面卡顿
  • 信号机制:线程间通信使用PyQt信号

核心模块

  1. UI模块:基于PyQt5的图形界面
  2. 打字模块:模拟键盘输入
  3. 剪贴板模块:读取系统剪贴板
  4. 热键模块:全局热键注册
  5. 配置模块:JSON配置管理

线程安全

  • 每次输入任务拥有独立的运行ID和停止事件,快速停止/重新开始不会出现重复输入或提前中断
  • 全局热键回调只发送信号,界面刷新与弹窗统一在主线程执行
  • 通过PyQt信号进行线程间通信,避免直接跨线程操作UI组件

测试

python test_offscreen.py

离屏运行,覆盖配置读写与非法值回退、热键注册与失败保留、运行令牌隔离、字符路由等逻辑,无需人工干预。

开发说明

代码结构

typing_simulator.py
├── TypingSimulator类(主窗口)
│   ├── init_ui() - 初始化界面
│   ├── setup_basic_tab() - 基本设置
│   ├── setup_advanced_tab() - 高级设置
│   ├── setup_hotkey_tab() - 热键设置
│   ├── start_typing() - 开始打字
│   ├── typing_thread() - 打字线程
│   ├── save_config() - 保存配置
│   └── load_config() - 加载配置
└── main() - 程序入口

扩展开发

如需添加新功能,可参考以下扩展点:

  1. 新的输入源:修改start_typing()方法
  2. 新的字符处理:在文本处理部分添加
  3. 新的热键功能:扩展setup_hotkeys()方法
  4. 界面主题:修改UI样式表

免责声明

本工具仅供学习交流与个人合法办公场景提高效率使用。请勿将其用于考试作弊、违反目标软件服务协议、非法入侵或其他不当用途;因使用本工具产生的任何后果由使用者自行承担。

许可证

本项目采用 MIT 许可证,详见 LICENSE

作者

版本历史

  • v2.1 (2026-09-14)
    • 修复:快速停止/重新开始时的重复输入与提前中断问题
    • 修复:热键回调跨线程操作界面可能导致的崩溃
    • 修复:配置文件路径跟随启动目录、写入非原子、非法配置项中断全部设置
    • 修复:PyDirectInput 缺失时空转、中文/大写字符丢失、默认按键延时拖慢速度
    • 新增:界面改动自动保存、热键修改实时生效、输入到本窗口自动停止
    • 移除:无实际作用的"保留剪贴板内容"选项
    • 统一命名:仅保留 TypingSimulator.exe 单一可执行文件
    • 打包:已内置 PyDirectInput
  • v2.0 (2026-03-25)
    • 添加 PyDirectInput 支持,提升虚拟机兼容性
  • v1.0 (2026-03-25)
    • 初始版本发布
    • 实现基本打字模拟功能
    • 支持剪贴板和输入模式
    • 配置保存和热键功能

About

无敌粘贴大法 pro max:绕过禁止粘贴限制的模拟打字工具。双输入引擎(PyDirectInput + Unicode 回退),中文可靠输入,全局热键,配置自动保存,单文件 EXE | Typing simulator that bypasses paste restrictions

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages