feat: 改用 PyInstaller 单 exe 分发,移除 PortablePython 内嵌运行时

- 仓库不再内置 25MB+ 的 Python 运行时与依赖;改由 PyInstaller 在 CI 打成单 exe,内嵌 UAC manifest,双击自动请求管理员权限
- 新增 GitHub / Gitea Actions(推送 v* tag 或页面手动触发),自动构建并发布 release,附 release zip(exe + config.ini + README)
- release body 由 workflow 抽取 CHANGELOG.md 对应版本段,并自动注入 UTC 构建日期;CHANGELOG 文件不再手填日期
- script.py 适配 PyInstaller 冻结模式:config.ini 从 exe 同目录读取,避免落入 _MEI 临时解压目录
- README 重写使用流程,强调本工具仅支持「按住开镜」模式,与「切换/按键开镜」不兼容
- 新增 requirements.txt 记录运行/构建依赖;.gitignore 排除 build/ dist/ release/ *.spec
This commit is contained in:
2026-05-07 14:26:45 +08:00
parent e71db04629
commit f5e3c8dff0
119 changed files with 231 additions and 34555 deletions
+34 -6
View File
@@ -6,6 +6,8 @@
监听鼠标右键事件,在右键按下时模拟键盘按下「屏息」键、右键松开时释放。脚本通过进程名识别游戏,只有游戏在运行时才激活监听,游戏关闭自动停止,重新进入会自动恢复。
> **仅支持「按住开镜」模式**:脚本依赖鼠标右键的按下/松开事件触发屏息键的按下/释放,游戏内的开镜方式必须设为「按住」而不是「切换/按键开镜」。否则松开右键时屏息会被释放,但游戏仍处于开镜状态,行为不一致。
纯本地按键映射,等价于支持宏的游戏鼠标硬件功能;不读写游戏内存、不修改任何游戏文件、不与游戏服务器通信。
## 使用方法
@@ -14,9 +16,17 @@
打开三角洲行动设置,把「屏息」绑定到一个不会和其他操作冲突的按键,例如 `F12`。记住这个按键。
### 2. 修改配置文件
### 2. 下载并解压
打开 `config.ini`,按需调整
到本仓库 [Releases](../../releases) 页面下载最新的 `df-scope-hold-vX.X.X.zip`,解压到任意目录,里面包含
- `df-scope-hold.exe`:主程序(已内嵌管理员权限 manifest,双击即弹 UAC
- `config.ini`:默认配置
- `README.md`:本说明
### 3. 修改配置文件
打开同目录下的 `config.ini`,按需调整:
```ini
[config]
@@ -25,11 +35,11 @@ delay_press = 5 ; 右键按下到模拟
program_running = DeltaForceClient-Win64-Shipping.exe ; 游戏进程名(区分大小写)
```
### 3. 运行
### 4. 运行
**右键 `run.bat` → 以管理员身份运行**。游戏客户端带反作弊保护通常以管理员权限运行,普通权限的脚本无法检测到游戏进程,必须以同等权限运行才能正常工作
双击 `df-scope-hold.exe`Windows 会弹出 UAC 提示申请管理员权限,**必须允许**。游戏客户端带反作弊保护通常以管理员权限运行,普通权限的进程无法检测到游戏进程。
脚本启动后会在命令行窗口提示当前配置并等待游戏启动,游戏运行起来后开始监听,按 `Ctrl+C` 退出。
启动后会在命令行窗口提示当前配置并等待游戏启动,游戏运行起来后开始监听,按 `Ctrl+C` 退出。
## 配置说明
@@ -41,10 +51,28 @@ program_running = DeltaForceClient-Win64-Shipping.exe ; 游戏进程名(区
## 运行环境
仓库已内置 `PortablePython/`(约 25MB),包含运行所需的 Python 3 解释器与依赖(`pynput``psutil`**无需另外安装 Python**,下载即用
Windows 单 exe 分发(约 10MB),由 PyInstaller 把 Python 解释器与依赖(`pynput``psutil`一起打包进可执行文件,**用户无需安装任何 Python 环境**
仅在 Windows 上验证过(三角洲行动客户端为 Windows 独占)。
## 从源码运行(开发者)
```bash
pip install -r requirements.txt
python script.py
```
需要 Python 3.10+。日常使用直接下载 release 即可,无需自行构建。
## 自行构建
```bash
pip install -r requirements.txt
pyinstaller --onefile --uac-admin --console --name df-scope-hold script.py
```
产物在 `dist/df-scope-hold.exe`。仓库已配置 GitHub / Gitea Actions,推 `v*` tag 后自动构建并发布到 Releases,无需本地操作。
## 免责声明
- 本脚本是纯本地的鼠标→键盘映射工具,原理与游戏鼠标厂商提供的宏功能完全一致