玩家痛点
玩网页游戏的兄弟都懂:
- 同一个浏览器开两个号,后登录的把前面的顶下线
- 小号刷副本、采药、挂 Boss,来回切窗口烦死人
- 普通浏览器多开,Cookie 共享,工作室行为容易被检测
- 每个标签页占几百 MB 内存,开 4 个就卡
解决方案
写个 WPF 桌面工具,一个窗口嵌多个 WebView2:
- 每个网页独立 UserDataFolder,Cookie 完全隔离
- 一个主窗看大号,周围小窗挂小号
- 点 "↗ 切换" 临时互换主窗位置,游戏不断线
核心技术
1. 独立 UserDataFolder
string profile = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MultiIWebBox", "Profiles", "profile_" + index); CoreWebView2Environment env = await CoreWebView2Environment.CreateAsync(null, profile); await webView.EnsureCoreWebView2Async(env);每个小号独立缓存目录,相当于 8 个独立浏览器。
2. 切换不刷新,挂机不断
切换主窗时,WebView2 实例复用,只换容器位置,不重新 Navigate。WebSocket 在 Edge 进程里,WPF 容器变化不影响,游戏挂机不断线。
3. 系统托盘常驻
WPF 没托盘控件,借用 WinForms NotifyIcon,右键菜单 "设置 / 退出"。
部署
- Win10 1903+ / Win11 自带 .NET 4.8 和 WebView2 Runtime
- 老系统补装两个 Runtime 即可
开源地址
Gitee:https://gitee.com/longkicode/multi-iweb-box