# -*- coding: utf-8 -*- """更新交付说明(先看这个.txt / 使用说明.txt)为新的单窗口流程。""" from __future__ import annotations import re import sys from pathlib import Path PKG = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\_build\package.py") NEW_QUICKSTART = '''QUICKSTART = f"""======================================================== 局域网遥控 · 被控端(Windows) 版本 {VERSION} ======================================================== 【装完之后怎么用】 1) 双击 LanRemote-Agent.exe 2) 弹出一个小窗口,让你输入 6 位数字(配对码) 自己定一个记得住的,比如 789113 下面有两个勾: [x] 设置开机自启(开机后自动在后台运行) [x] 顺便放行防火墙(需要管理员确认一次) 3) 点「确定,开始使用」 → 会弹一次 Windows 的管理员确认(UAC),点「是」 → 黑色终端窗口一闪,它在一键修复防火墙 → 窗口全部消失,程序转入后台静默运行 4) 手表上打开 App → 点「自动搜索电脑」→ 点搜到的电脑 → 输入你设的 6 位数字 5) 以后开机就直接在后台跑,屏幕上什么都没有; 手表打开 App 会自动连上,数字都不用再输。 【这就是全部的界面】 整个程序只有一个窗口 —— 就是上面第 2 步那个, 而且只在**第一次**运行时出现一次。 想改配对码:命令行运行 LanRemote-Agent.exe --setup 【连不上?】 1) 确认被控端在跑 任务管理器里能看到 LanRemote-Agent.exe / pythonw.exe 没有的话运行:LanRemote-Agent.exe --setup 重新设一次 2) 放行防火墙(就是第 3 步那个黑窗口做的事) 没成功的话,右键「一键修复防火墙.bat」→ 以管理员身份运行 3) 还不行 → 运行「网络自检.bat」 跑起来之后在手表上点「测一下」 电脑上出现「收到 TCP 连接」 -> 网络是通的,问题在本机 一直没出现 -> 包没到电脑,多半是路由器开了「AP 隔离」 4) 手表上:主界面 ->「设备诊断」 真实跑一次自动发现和 TCP 连通测试,结果自动复制到剪贴板 【命令行参数】(一般用不到) LanRemote-Agent.exe --setup 重新打开设置窗口 LanRemote-Agent.exe --silent 直接静默运行 LanRemote-Agent.exe --add-device 10 静默运行 + 开放 10 分钟配对 LanRemote-Agent.exe --autostart on|off 开关开机自启 LanRemote-Agent.exe --status 看当前状态 LanRemote-Agent.exe --port 9000 换端口 LanRemote-Agent.exe --new-code 换一个随机配对码 LanRemote-Agent.exe --reset-devices 清空已配对设备 【关于安全】 配对码是你自己设的,只存在这台电脑的 data\\\\settings.json 里, 不会出现在任何分发的文件里。 配错 10 次会锁 5 分钟,防止被人慢慢试。 屏幕共享时右下角会出现一条红色小提示 —— 这是故意的:有人在看你的屏幕时,屏幕前面的人应该知道。 """''' def main() -> int: text = PKG.read_text(encoding="utf-8") # 行定位:从 QUICKSTART 那一行到下一个独占一行的 三引号 lines = text.splitlines(keepends=True) start = None end = None for i, line in enumerate(lines): if start is None and line.startswith("QUICKSTART"): start = i continue if start is not None and line.rstrip() == chr(34) * 3: end = i break if start is None or end is None: print(f" [失败] 没找到 QUICKSTART 区间 (start={start}, end={end})") return 1 old_len = sum(len(l) for l in lines[start:end + 1]) text = "".join(lines[:start]) + NEW_QUICKSTART + chr(10) + "".join(lines[end + 1:]) PKG.write_text(text, encoding="utf-8") print(f" package.py: QUICKSTART 已更新({old_len} -> {len(NEW_QUICKSTART)} 字符)") import ast try: ast.parse(PKG.read_text(encoding="utf-8")) print(" package.py: 语法 OK") except SyntaxError as exc: print(f" package.py: 语法错误 {exc}") return 1 return 0 if __name__ == "__main__": sys.exit(main())