一款轻量便携的 Windows 窗口悬浮工具,支持窗口置顶、鼠标穿透、透明度调节和等比例缩放。
WinFloat 可以通过鼠标直接选择任意普通桌面窗口,并在该窗口原位置创建实时悬浮画面。锁定后,悬浮画面会保持置顶并启用鼠标穿透,适合游戏实时翻译、语音字幕、歌词、直播辅助信息和小型监控面板等场景。
当前版本:v0.1.2
- 鼠标点击选择窗口:点击选择区域后,直接用鼠标点选目标窗口,无需从列表中查找。
- 原位置悬浮:锁定后,悬浮画面默认覆盖目标窗口原来的位置。
- 始终置顶:悬浮画面保持在普通窗口上方。
- 鼠标穿透:点击悬浮区域时,可直接操作后方的游戏或其他软件。
- 整体透明度:通过滑块在
0% ~ 100%之间实时调整,滑到多少就是多少。 - 等比例缩放:通过滑块在
25% ~ 300%之间实时调整,100%为原始大小。 - 中心缩放:缩放时保持宽高比,并以目标窗口原始中心为基准。
- 绿色便携:单个原生 Windows x64 可执行文件,无需安装和额外运行库。
WinFloat 只保留必要操作:
- 选择窗口
- 锁定置顶
- 透明度滑块
- 缩放滑块
没有全局快捷键、复杂窗口列表、后台服务或强制联网功能。
仓库内可直接获取:
- 下载单文件便携版
- 下载 v0.1.2 压缩包
- 在 Actions 中下载最新自动构建产物
- 正式版本可在 Releases 中下载
使用步骤:
- 打开需要悬浮显示的字幕、翻译或其他程序。
- 运行
WinFloat.exe。 - 点击“选择窗口”,再用鼠标点击目标窗口。
- 调整透明度和缩放比例。
- 开启“锁定置顶”。
- 需要重新选择或退出时,回到 WinFloat 控制窗口关闭锁定。
WinFloat 使用 Windows Desktop Window Manager(DWM)的实时缩略图能力显示目标窗口画面,不向目标程序或游戏进程注入代码。
锁定时:
- 记录目标窗口原始位置、大小和置顶状态;
- 在原位置创建置顶、不可激活、鼠标穿透的悬浮画面;
- 将源窗口临时移动到虚拟桌面可视区域之外;
- 关闭锁定后恢复源窗口原始位置、大小和置顶状态。
项目使用原生 C 和 Win32 API 编写,不依赖 Electron、Python、Java、.NET 或 WebView2。
发布版为单个 .exe,无需安装。删除文件即可移除程序。
- 不注入目标进程;
- 不修改目标程序文件;
- 不上传窗口内容;
- 不收集用户数据;
- 不连接远程服务器;
- 不包含后台常驻服务。
透明度和缩放均为百分比滑块,拖动时立即生效,不需要点击“应用”。
当前发布文件未使用商业代码签名证书,Windows SmartScreen 可能显示“未知发布者”。请仅从本仓库或可信来源下载。
如果目标程序以管理员身份运行,WinFloat 通常也需要以管理员身份启动,否则可能无法正确选择或控制该窗口。
建议使用窗口模式、无边框窗口模式或窗口化全屏。部分独占全屏游戏会覆盖桌面悬浮窗口。
部分程序最小化后会停止绘制内容,可能导致悬浮画面停止更新、保持最后一帧或显示黑屏。DRM 视频、受保护内容和某些特殊 GPU 渲染窗口也可能无法捕获。
高于 100% 的缩放会放大源画面,清晰度受目标窗口原始分辨率影响。文字模糊时,建议先提高源程序字号或窗口尺寸。
当前版本处于早期测试阶段,在混合 DPI、多显示器或特殊缩放设置下可能出现位置偏差。提交问题时请附带显示器布局与系统缩放比例。
- Windows 10 64 位
- Windows 11 64 位
- 已启用桌面窗口管理器(DWM)
- 建议使用较新的显卡驱动
不支持 Windows 7、Windows 8/8.1、32 位 Windows、macOS 和 Linux。
仓库提供两种方式:
安装 LLVM,并确保 clang-cl.exe 与 lld-link.exe 已加入 PATH。仓库已经附带最小化 Windows 导入库,然后运行:
build.cmd构建结果位于:
dist\WinFloat.exe
项目为了保持单文件和极小体积,源码中自行声明所需 Win32 API,并附带最小化导入库。构建脚本不会链接 C/C++ 运行库。
WinFloat/
├─ src/WinFloat.c # 主程序源码
├─ toolchain/ # 最小化导入定义与导入库
├─ dist/ # 可执行文件与便携版压缩包
├─ docs/ # 使用说明和版本记录
├─ .github/ISSUE_TEMPLATE/ # Bug 与功能建议模板
├─ .github/workflows/ # 自动构建与发布流程
├─ build.cmd # Windows LLVM 构建脚本
├─ README.md
├─ CHANGELOG.md
├─ CONTRIBUTING.md
├─ SECURITY.md
└─ LICENSE
请通过 GitHub Issues 提交,并尽量提供:
- Windows 版本;
- 目标软件名称;
- 是否以管理员身份运行;
- 单显示器或多显示器;
- Windows 显示缩放比例;
- 问题截图或录屏;
- 可稳定复现的操作步骤。
本项目采用 MIT License。