首页/开源工具

PocketWindow:把游戏缩成小窗,刷图与领奖一键切换

一个 Windows 游戏小窗工具:键盘刷图用小窗,鼠标领奖切回原窗,支持自定义快捷键、老板键和关闭到托盘。

39

941067B962EBDC391D14BDCA82A3457E
(应用界面)
3140862967372C3EF739E2CA3C51FA32
(DNF使用效果)
DNF 的窗口最小也有 800×600。刷图时,只想让画面占屏幕一角;为此我做了一个 Windows 小工具:PocketWindow。

项目已经开源,源码、使用说明和下载都在 GitHub:LuckyMiku/PocketWindow。本文不另外提供下载附件,后续版本统一在 GitHub 更新。

能做什么

  • 小窗显示完整游戏画面,按住左键直接移动,拖动边缘等比缩放。
  • 4:3 画面最小支持 80×60;最大宽高为原画面的 80%,800×600 对应 640×480,方便区分大小窗。
  • 快捷键切换小窗和原窗口,另一个老板键隐藏或恢复。
  • 大小切换、隐藏/恢复、显示小窗三组快捷键分别自定义,保存后立即生效;冲突时保留原绑定。
  • 置顶可开关,不透明度可在 20%~100% 调整。
  • 控制面板右上角 X 收起到系统托盘,双击托盘图标重新打开;“还原并退出”才是真正退出。

小窗仅支持键盘操作,鼠标操作请切回大窗。 不支持在小窗中点击、拖动物品或操作菜单。

怎么使用

  1. 从 GitHub 获取 Windows x64 独立发布包,解压运行 PocketWindow.exe,无需额外安装 .NET。
  2. 将游戏设成窗口模式,保持窗口打开,在工具中选择游戏并点击“开始小窗”。
  3. 默认 Ctrl+Alt+F8 切换大小窗,Ctrl+Alt+F9 隐藏/恢复,Ctrl+Alt+F7 显示小窗并交还键盘焦点。也可以先在面板修改快捷键。
  4. 刷图时使用键盘;需要鼠标时切回原窗口。
  5. 退出时,在系统托盘选择“还原并退出”。升级前也先退出旧版。

未勾选置顶时,小窗有自己的任务栏按钮,点击即可找回来;原游戏运行窗口按钮暂时隐藏。勾选置顶后小窗按钮也隐藏,恢复大窗时原游戏按钮回来。不会删除用户固定的游戏启动快捷方式。

实现方式

PocketWindow 使用 C#、WinForms 和 Windows DWM 实时缩略图显示游戏客户区。游戏仍按原来的分辨率渲染,因此这不是降低游戏渲染分辨率,也不应期待显著降低显卡负载。

原窗口保留在屏幕内,临时设为 1/255 透明度并让鼠标穿透;小窗显示正常亮度的缩略图。小窗使用 WS_EX_NOACTIVATE,键盘输入仍交给真实游戏窗口。程序不读取游戏内存、不注入 DLL,也不提供按键宏。

切回原窗口或退出时恢复位置、窗口样式和透明度。另有守护进程,在工具异常结束后尝试恢复;恢复前检查进程身份,避免把旧记录应用到无关窗口。

验证和限制

v0.4.1 在自带测试窗口上通过了 81 项本地检查,覆盖缩放、动画、透明度、任务栏、快捷键冲突保护、关闭到托盘和异常恢复。这是通用窗口测试,不等于所有游戏都已经兼容。

只支持窗口模式。某些游戏或受保护的画面可能黑屏、停帧,实际兼容性需要分别测试。低透明度的原窗口在特定背景上可能留下极淡残影。老板键不静音,也不关闭游戏另开的弹窗。

源码采用 MIT 许可,是原创实现。欢迎在 GitHub 项目反馈问题和参与改进。

PocketWindow:把游戏缩成小窗,刷图与领奖一键切换 · LuckyMiku