# 快捷程序启动 **Repository Path**: sytao_2020/pyQuickStart ## Basic Information - **Project Name**: 快捷程序启动 - **Description**: 自定义快捷启动程序; (快捷启动: 网站, 程序,文件夹...等等) 模拟键盘鼠标操作,防电脑休眠(主要应对公司锁屏策略) - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-21 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 快捷键启动工具 (pyQuickStart) 一个 Windows 桌面工具,支持自定义全局快捷键快速启动程序、打开网页、访问文件夹,并提供智能防休眠防锁屏功能。 Not a programmer, this is my first time using a working program written by kiro; Quickly launch software (shortcut configured); Prevent screen lock and sleep, keep the computer always on (can be used even with company policy restrictions) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Python](https://img.shields.io/badge/python-3.8+-blue.svg) ![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg) ![Version](https://img.shields.io/badge/version-2.0.0-green.svg) ## 📸 界面预览 b15a26f08139f36570ef1a726213d06c 现代化的浅色商务风格界面,简洁易用: - 实时统计卡片(配置快捷键数、运行中程序数、防休眠状态) - 快捷键录制输入框(点击后直接按下快捷键组合) - 独立的防休眠控制按钮 - 清晰的快捷键列表管理 ## ✨ 功能特性 ### 核心功能 - 🎯 **全局快捷键监听**(支持 Ctrl+Alt+Shift+Win 组合键) - 🚀 **多种目标类型**:程序、网页、文件夹、文件 - **进程监控**(避免重复启动,实时显示运行中程序数量) - 🎨 **现代化界面**(PyQt5 浅色商务风格设计) - 🛡️ **冲突检测**(自动检测系统保留快捷键冲突) ### 智能防休眠防锁屏(v1.3.0 增强) - 💤 **独立防休眠控制**(可独立开启/关闭) - 🎚️ **智能防护机制**(120秒间隔,100像素移动) - 🖱️ **智能鼠标移动**(精确回到原位,规避自动锁屏) - 🛡️ **四重防护机制**: - 鼠标智能移动(防锁屏,精确回位) - 重置空闲计时器(防休眠) - 模拟按键操作(防休眠) - 持续状态保持(防休眠) - ⏱️ **智能刷新间隔**(120秒,确保持续有效) - 📊 **锁屏状态检测**(自动检测并记录锁屏事件) - 🎯 **无感操作**(鼠标精确回位,不影响使用) ### 其他功能 - 💾 **配置自动保存** - 📝 **完整日志记录** - 📊 **实时统计**(配置快捷键数、运行中程序数、防休眠状态) - 🔄 **自动更新**(手动检查,一键下载安装) - 🎯 **托盘运行**(最小化到系统托盘) ## 📋 系统要求 - Windows 10/11 - Python 3.8+ - 管理员权限(用于全局快捷键) ## 🚀 快速开始 ### 方式一:使用打包版本(推荐) 1. 下载最新版本的 `pyQuickStart.exe` 2. 右键点击,选择"以管理员身份运行" 3. 开始使用! ### 方式二:从源码运行 #### 1. 安装依赖 ```bash pip install -r requirements.txt ``` **核心依赖**: - `keyboard` - 全局快捷键监听 - `psutil` - 进程管理 - `PyQt5` - 现代化桌面界面 - `pynput` - 键盘鼠标模拟 - `requests` - 自动更新 #### 2. 启动程序 **⚠️ 重要:必须以管理员权限运行!** ```bash # 右键点击 "main.py",选择 "以管理员身份运行" python main.py ``` **提示**: - 首次运行会自动创建配置文件 - 不以管理员权限运行将无法监听全局快捷键 ### 3. 添加快捷键 1. 点击快捷键输入框,按下你想要的快捷键组合(如:Ctrl+Alt+N) 2. 输入目标路径或点击"浏览文件"/"浏览文件夹"按钮 3. 点击"✓ 添加快捷键"保存 ### 4. 启动监听 点击"启动监听"按钮,然后使用快捷键测试! ### 5. 防休眠防锁屏功能(可选) - 点击"开启防休眠"按钮启用智能防护 - 功能特点: - ✅ 阻止系统自动休眠 - ✅ 阻止显示器自动关闭 - ✅ 阻止自动锁屏(通过智能鼠标移动) - ✅ 智能刷新间隔(120秒) - ✅ 鼠标移动100像素后精确回位 - ✅ 自动检测锁屏状态 - 需要手动点击"关闭防休眠"才会停止 ## 📝 快捷键格式 **格式**: `修饰键+修饰键+按键` **修饰键**: `ctrl`, `alt`, `shift`, `win` **示例**: ``` ctrl+alt+n # Ctrl + Alt + N ctrl+shift+t # Ctrl + Shift + T win+e # Windows + E ``` ## 🎯 支持的目标类型 | 类型 | 示例 | |------|------| | 程序 | `C:\Windows\notepad.exe` | | 网页 | `https://www.google.com` | | 文件夹 | `C:\Users\YourName\Documents` | | 文件 | `D:\path\to\file.pdf` | ## 💡 配置示例 ``` 快捷键 目标 ----------------------------------------- ctrl+alt+n C:\Windows\notepad.exe ctrl+alt+g https://www.google.com ctrl+alt+d C:\Users\YourName\Documents ctrl+alt+v C:\Program Files\VS Code\Code.exe ctrl+alt+c C:\Program Files\Google\Chrome\chrome.exe ``` ## ⚠️ 注意事项 1. ⚠️ **必须以管理员权限运行**(否则快捷键无法生效) 2. ⚠️ **避免使用系统保留快捷键**(如 Ctrl+Alt+Del、Win+L 等) 3. ✅ 程序会自动检测快捷键冲突并提示 4. ✅ 配置文件:`config.json` 5. ✅ 日志文件:`logs/hotkey_YYYYMMDD.log` 6. ✅ 快捷键录制:点击输入框后直接按下快捷键组合 7. ✅ 防休眠功能独立运行,关闭程序不会自动关闭防休眠 8. ✅ 实时显示运行中程序数量和防休眠状态 ### 系统保留快捷键(请避免使用) - `Ctrl+Alt+Delete` - 任务管理器 - `Ctrl+Shift+Esc` - 任务管理器 - `Win+L` - 锁屏 - `Win+D` - 显示桌面 - `Win+E` - 文件资源管理器 - `Alt+Tab` - 切换窗口 - `Alt+F4` - 关闭窗口 ## 📁 项目结构 ``` ├── main.py # 主入口(自动请求管理员权限) ├── gui_qt.py # PyQt5 界面实现(浅色商务风格) ├── hotkey_manager.py # 快捷键管理(含冲突检测) ├── power_manager.py # 电源管理(防休眠) ├── config_manager.py # 配置管理(JSON) ├── logger.py # 日志记录 ├── 启动.bat # 管理员权限启动脚本 ├── requirements.txt # 依赖列表 ├── resources/ # 资源文件 │ └── SYT.png # 程序图标 ├── logs/ # 日志目录 └── tests/ # 测试目录 ``` ## 🧪 运行测试 ```bash # 运行所有测试 pytest # 运行特定测试 pytest tests/test_hotkey_manager.py # 查看覆盖率 pytest --cov=. --cov-report=html ``` ## 🐛 故障排除 | 问题 | 解决方案 | |------|----------| | 快捷键不响应 | 1. 确保以管理员身份运行
2. 检查状态是否显示"运行中"
3. 查看日志文件 | | 提示需要管理员权限 | 右键点击 `启动.bat`,选择"以管理员身份运行" | | 快捷键冲突警告 | 更换其他快捷键组合,避免系统保留快捷键 | | PyQt5 无法启动 | `pip install PyQt5` | | 目标无法打开 | 检查路径是否正确且文件存在 | | 配置文件损坏 | 删除 `config.json` 重新生成 | | 程序已运行不再启动 | 这是防重复启动功能,先关闭已运行的程序 | | 防休眠无法关闭 | 重新打开程序,点击"关闭防休眠"按钮 | | 运行中程序数量为0 | 这是正常的,只有通过快捷键启动的程序才会被监控 | | 防锁屏效果不佳 | 1. 查看日志了解详细信息
2. 参考[防休眠问题排查.md](./防休眠问题排查.md) | | 锁屏仍然发生 | 1. 确认是锁屏还是休眠(参考文档)
2. 检查Windows锁屏设置
3. 查看锁屏统计信息 | ## 📦 打包发布 使用 PyInstaller 打包成独立可执行文件: ```bash # 安装 PyInstaller pip install pyinstaller # 打包成单文件(带窗口) pyinstaller --onefile --windowed --icon=resources/SYT.png --name="快捷键启动工具" main.py # 打包后的文件在 dist/ 目录下 ``` **注意**:打包后的 exe 文件仍需要以管理员权限运行。 ## 🔄 自动更新 程序内置自动更新功能: ### 用户使用 1. **手动检查**:点击界面右上角 🔄 按钮 2. **一键更新**:发现新版本时,点击确认即可自动下载安装 3. **自动重启**:更新完成后程序自动重启到新版本 ### 开发者发布 ```bash # 使用发布助手 发布新版本.bat ``` 详细步骤请参考 [自动更新使用指南.md](./自动更新使用指南.md) ## 🔧 开发相关 ### 代码结构 - `main.py` - 程序入口,自动请求管理员权限 - `gui_qt.py` - PyQt5 界面,包含所有 UI 组件和交互逻辑 - `hotkey_manager.py` - 快捷键管理,使用 keyboard 库监听全局快捷键 - `power_manager.py` - 电源管理,使用 ctypes 调用 Windows API 防止休眠 - `config_manager.py` - 配置管理,JSON 格式存储 - `logger.py` - 日志记录,按日期分文件 ### 技术栈 - **GUI**: PyQt5 - **快捷键**: keyboard - **进程管理**: psutil - **电源管理**: ctypes (Windows API) - **测试**: pytest ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📝 更新日志 ### v1.3.0 (2026-01-23) - ✨ **智能鼠标移动**(100像素移动后精确回到原位) - ✨ **优化防护间隔**(120秒智能刷新,平衡效果与性能) - ✨ **锁屏状态检测**(自动检测并记录锁屏事件和统计) - 🎨 **简化界面**(移除防护强度选择,使用最优默认配置) - 📝 **改进日志记录**(更详细的调试信息) - 🔧 **错误处理增强**(降级策略和故障通知) ### v1.2.0 (2026-01-23) - ✨ **新增鼠标微移动防锁屏**(1像素往返,规避自动锁屏) - ✨ 四重防护机制(鼠标移动 + 重置计时器 + 模拟按键 + 持续状态) - ✨ 每30秒自动刷新,确保持续有效 - 🔄 更新按钮改为图标显示,更简洁 - 🔄 取消自动检查更新,改为手动点击 - 🔄 检查更新对话框可关闭 - 🐛 修复退出后进程残留问题 - 📝 完善文档和测试指南 ### v1.1.0 (2026-01-22) - ✨ 添加自动更新功能 - ✨ 增强防休眠功能(三重防护) - 🎨 优化界面设计 - 📝 完善文档 ### v1.0.0 (2026-01-22) - ✅ 实现全局快捷键监听 - ✅ 支持多种目标类型(程序、网页、文件夹) - ✅ 独立防休眠控制 - ✅ 进程监控和防重复启动 - ✅ 快捷键冲突检测 - ✅ 现代化 PyQt5 界面 - ✅ 自动请求管理员权限 ## 📄 许可证 MIT License