Add files via upload

This commit is contained in:
Devilflasher authored and GitHub committed 2025-04-26 03:29:49 +08:00
1 parent fe2df209bb
commit 314b30f691
1 file changed
+105 -51
+105 -51
View File
@@ -1,6 +1,6 @@
<div align="center">
# Chrome 多窗口管理器
# Chrome 多窗口管理器 V2.0
[![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB.svg?style=flat&logo=python&logoColor=white)](https://www.python.org)
[![Windows](https://img.shields.io/badge/Windows-10%2B-0078D6.svg?style=flat&logo=windows&logoColor=white)](https://www.microsoft.com/windows)
@@ -17,7 +17,6 @@
</div>
> [!IMPORTANT]
> ## ⚠️ 免责声明
>
> 1. **本软件为开源项目,仅供学习交流使用,不得用于任何闭源商业用途**
@@ -28,29 +27,35 @@
## 工具介绍
Chrome 多窗口管理器是一款专门为 `NoBiggie社区` 准备的Chrome浏览器多窗口管理工具。它可以帮助用户轻松管理多个 Chrome 窗口,实现窗口批量打开、排列以及之间的同步操作,大大提高交互效率。
## 功能特性
## ❇️ 功能特性
- `批量管理功能`:一键打开/关闭单个、多个Chrome实例
- `智能布局系统`:支持自动网格排列和自定义坐标布局
- `批量环境创建`:便捷创建多个Chrome独立数据目录和快捷方式
- `智能布局系统`:支持自动网格排列和自定义坐标布局,优化多屏幕支持
- `多窗口同步控制`:实时同步鼠标/键盘操作到所有选定窗口
- `批量打开网页`:支持批量相同网页打开
- `批量打开网页`:支持在多窗口中同时打开指定网页
- `快捷方式图标替换`:支持一键替换多个快捷方式图标(带序号的图标已准备在icon文件夹)
- `插件窗口同步`:支持弹出的插件窗口内的键盘和鼠标同步
- `插件窗口同步`:优化支持弹出的插件窗口内的键盘和鼠标同步
- `右键菜单管理`:支持窗口列表右键关闭窗口等快捷操作
## 环境要求
## ❇️ 环境要求
- Windows 10/11 (64-bit)
- Python 3.9+
- Chrome浏览器 最新
## 运行教程
## ❇️ 运行教程
## 🎬️ 视频版教程请移步本人推特这篇推文观看 [![X](https://img.shields.io/badge/本程序视频教程已发布在更新推文中-1DA1F2.svg?style=flat&logo=x&logoColor=white)](https://x.com/DevilflasherX)
### 方法一:打包成独立exe可执行文件(推荐)
如果你想自己打包程序,请按以下步骤操作:
1. **安装 Python 和依赖**
```bash
# 安装 Python 3.9 或更高版本
# 安装 Python 最新版本
# 从 https://www.python.org/downloads/ 下载
```
@@ -60,6 +65,8 @@ Chrome 多窗口管理器是一款专门为 `NoBiggie社区` 准备的Chrome浏
- build.py(打包脚本)
- app.manifest(管理员权限配置)
- app.ico(程序图标)
- requirements.txt(依赖包清单,包含程序所需的所有Python包)
3. **运行打包脚本**
```bash
@@ -71,18 +78,25 @@ Chrome 多窗口管理器是一款专门为 `NoBiggie社区` 准备的Chrome浏
- 打包完成后,在 `dist` 目录下找到 `chrome_manager.exe`
- 双击运行 `chrome_manager.exe` 即可打开程序
### 方法二:从源码运行
### 方法二:从源码运行 (非推荐)
1. **安装 Python**
```bash
# 下载并安装 Python 3.9 或更高版本
# 下载并安装Python最新版本
# 从 https://www.python.org/downloads/ 下载
```
2. **安装依赖包**
```bash
# 打开命令提示符(CMD)并运行:
pip install tkinter pywin32 keyboard mouse sv-ttk typing-extensions
pip install -r requirements.txt
# 或者手动安装基本依赖:
pip install pyinstaller==6.12.0 sv-ttk==2.6.0 keyboard==0.13.5 mouse==0.7.1 pywin32==309 wmi==1.5.1 requests==2.32.3 pillow==11.1.0
# Win11 用户可选安装(如果安装失败可以忽略,程序会自动适配):
pip install win11toast==0.32
```
3. **运行程序**
@@ -91,53 +105,58 @@ Chrome 多窗口管理器是一款专门为 `NoBiggie社区` 准备的Chrome浏
python chrome_manager.py
```
## 使用说明
## ❇️ 使用说明
### 前期准备
### 前期准备:批量创建环境
V2.0版本新增了批量创建环境功能,无需手动创建多开结构:
- 在您存放 Chrome 多开快捷方式的文件夹下,快捷方式的文件名应按照 `1`、`2`、`3`... 的格式命名。
- 同一个文件夹下建立 `Data` 文件夹,`Data` 文件夹下存放每个浏览器独立的数据文件,文件夹名应按照 `1`、`2`、`3`... 的格式命名。
1. **设置软件参数**
- 软件主界面右上角打开设置页面
- 设置快捷方式存放的目录
- 设置缓存存放的目录
```目录结构示例:
多开chrome的目录
2. **打开批量创建环境**
- 点击软件下方功能标签页中的"批量创建环境"
├── 1.lnk
├── 2.lnk
├── 3.lnk
└── Data
├── 1
├── 2
└── 3
```
- 浏览器快捷方式的目标参数因为:(请根据您的浏览器安装路径修改)
```
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\chrom duo\Data\编号"
```
3. **创建环境**
- 设置需要创建的环境数量(例如:1-100 就是创建编号为1至100的窗口)
- 点击"开始创建"按钮
- 系统将自动创建对应编号的快捷方式以及对应的缓存目录
- 创建完成后会显示成功消息
4. **环境结构**
创建完成后,将自动生成如下结构:
```
您选择的存放快捷方式的目录
├── 1.lnk
├── 2.lnk
├── 3.lnk
└── Data (您选择的存放数据的缓存目录)
├── 1
├── 2
└── 3
```
### 基本操作
1. **打开窗口**
- 软件下方的"打开窗口"标签下,填入存放浏览器快捷方式的目录
- "窗口编号"里填入想要打开的浏览器编号
- 软件下方的"打开窗口"标签下,在"窗口编号"里填入想要打开的浏览器编号(格式可以是1-10这样,也可以是1,3,5这样,或者两者结合 1-10,13,15)
- 点击"打开窗口"按钮即可打开对应编号的chrome窗口
2. **导入窗口**
- 点击"导入窗口"按钮导入当前打开的 Chrome 窗口
- 在列表中选择要操作的窗口
- 在列表中选择要操作的窗口,通常点击全部选择按钮即可,2.0版本的程序已经可以自动排除系统主浏览器
3. **窗口排列**
- 使用"自动排列"快速整理窗口
- 或使用"自定义排列"设置详细的排列参数
- 或使用"自定义排列"通过自定义参数排列窗口
4. **开启同步**
- 选择一个主控窗口(点击"主控"列)
- 选择要同步的从属窗口
- 选择一个主控窗口(点击"主控"列),若没有选择程序会自动选择第一个窗口为主控窗口
- 点击"开始同步"或使用设定的快捷键
## 注意事项
## ❇️ 注意事项
- 同步功能需要管理员权限
- 虽然理论上不会被杀毒软件误报或干扰,但请在报错时检查杀毒软件是否拦截相关功能
@@ -145,20 +164,55 @@ Chrome 多窗口管理器是一款专门为 `NoBiggie社区` 准备的Chrome浏
## 常见问题
1. **无法开启同步**
- win10和win11家庭版操作系统目前有兼容性上的问题
- 如果你是chrome多账户多开,那无法使用同步功能
- 如果仅是鼠标或者键盘无法同步,可能是打包的时候某个依赖出错,请重新打包程序文件
1. **无法打包程序❓️**
- 主要原因是Python没有正确安装或环境变量未正确设置
- 确保Python在默认位置安装且安装时勾选了"Add Python to PATH"选项
- 检查pip是否正常工作,尝试运行`pip --version`验证
- 确保已安装所有依赖包
- 如果打包过程中仍然出现其他错误,请尝试以管理员权限运行命令提示符
2. **窗口未正确导入**
- 尝试重新点击"导入窗口"按钮
-
3. **滚动条同步幅度不同**
- 目前的解决办法就是通过pageup和pagedown以及键盘上下左右键来调整同步幅度
2. **无法导入窗口❓️**
- 主要原因是Chrome窗口不是使用`--user-data-dir=`参数启动的
- 请使用正确创建的快捷方式打开窗口
- 确保Chrome快捷方式的目标包含了类似`--user-data-dir="D:\chrome duo\data\1"`的参数
## 更新日志
3. **无法开启同步❓️**
- 程序不支持谷歌账号登录后多开的窗口形式,这类窗口无法正确同步
- 请确保通过`--user-data-dir`参数的快捷方式打开窗口
- 检查是否以管理员身份运行程序
- 确保已正确选择一个主控窗口
- 如果使用多显示器,确认屏幕设置正确
- 开启同步后如果部分窗口没有同步,可以多次单击主控窗口来校准同步
## ❇️ 更新日志
### v2.0 🆕
- **✨ 核心技术改进**
- **CDP 技术支持**:引入 Chrome DevTools Protocol,实现更精确的浏览器控制和通信
- **多线程框架升级**:使用 concurrent.futures 实现高效并行任务处理,提升整体性能
- **同步引擎重构**:重写鼠标和键盘事件处理算法,大幅降低系统资源占用
- **安全性增强**:新增路径验证和进程所有者验证,提高程序运行安全性
- **内存管理优化**:修复内存泄漏问题,显著改善长时间运行的稳定性
- **🌟 新增功能**
- **批量环境创建**:支持一键创建多个Chrome浏览器环境,大幅提升效率
- **多屏幕支持**:添加多显示器识别和管理,可在不同屏幕上独立排列窗口(此功能由网友buyun00添加)
- **标签批量管理**:新增"仅保留当前标签"和"仅保留新标签页"功能
- **窗口右键菜单**:增加窗口列表右键关闭功能,提供更便捷的窗口管理
- **同步状态通知**:添加开关同步状态的系统通知,清晰提示当前操作状态
- **批量文本输入**:支持随机数字和指定文本批量输入到多个窗口
- **📊 优化项目**
- **UI 界面优化**:整合设置部分的 UI,提供更直观的用户体验
- **窗口层级优化**:改进开启窗口排列和同步时的屏幕层级关系,避免窗口被遮挡
- **窗口排列算法**:优化窗口自动排列算法,更合理地利用屏幕空间
- **窗口列表管理**:修复窗口顺序在列表中混乱的问题,保持一致性
- **同步机制改进**:修复切换主控后的同步 BUG,提高多窗口协同稳定性
- **批量打开网页优化**:优化批量打开网页效果,打开效果更佳稳定丝滑
- **鼠标滚轮优化**:修复了鼠标滚轮同步时幅度不一样的问题
- **弹窗处理增强**:优化插件弹出窗口的同步问题,提升扩展程序操作体验
- **性能优化**:降低 CPU 和内存占用,优化高负载下的响应速度
- **错误恢复**:添加自动恢复机制,减少操作中断的可能性
### v1.0
- 首次发布