Skip to content
MRDFZ001Public

About

一款轻量便携的 Windows 窗口悬浮工具,支持窗口置顶、鼠标穿透、透明度调节和等比例缩放。

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

WinFloat

一款轻量便携的 Windows 窗口悬浮工具,支持窗口置顶、鼠标穿透、透明度调节和等比例缩放。

Platform Architecture Language License Build

WinFloat 可以通过鼠标直接选择任意普通桌面窗口,并在该窗口原位置创建实时悬浮画面。锁定后,悬浮画面会保持置顶并启用鼠标穿透,适合游戏实时翻译、语音字幕、歌词、直播辅助信息和小型监控面板等场景。

当前版本:v0.1.2

功能

  • 鼠标点击选择窗口:点击选择区域后,直接用鼠标点选目标窗口,无需从列表中查找。
  • 原位置悬浮:锁定后,悬浮画面默认覆盖目标窗口原来的位置。
  • 始终置顶:悬浮画面保持在普通窗口上方。
  • 鼠标穿透:点击悬浮区域时,可直接操作后方的游戏或其他软件。
  • 整体透明度:通过滑块在 0% ~ 100% 之间实时调整,滑到多少就是多少。
  • 等比例缩放:通过滑块在 25% ~ 300% 之间实时调整,100% 为原始大小。
  • 中心缩放:缩放时保持宽高比,并以目标窗口原始中心为基准。
  • 绿色便携:单个原生 Windows x64 可执行文件,无需安装和额外运行库。

界面原则

WinFloat 只保留必要操作:

  1. 选择窗口
  2. 锁定置顶
  3. 透明度滑块
  4. 缩放滑块

没有全局快捷键、复杂窗口列表、后台服务或强制联网功能。

下载与运行

仓库内可直接获取:

使用步骤:

  1. 打开需要悬浮显示的字幕、翻译或其他程序。
  2. 运行 WinFloat.exe。
  3. 点击“选择窗口”,再用鼠标点击目标窗口。
  4. 调整透明度和缩放比例。
  5. 开启“锁定置顶”。
  6. 需要重新选择或退出时,回到 WinFloat 控制窗口关闭锁定。

工作方式

WinFloat 使用 Windows Desktop Window Manager(DWM)的实时缩略图能力显示目标窗口画面,不向目标程序或游戏进程注入代码。

锁定时:

  • 记录目标窗口原始位置、大小和置顶状态;
  • 在原位置创建置顶、不可激活、鼠标穿透的悬浮画面;
  • 将源窗口临时移动到虚拟桌面可视区域之外;
  • 关闭锁定后恢复源窗口原始位置、大小和置顶状态。

优势

轻量

项目使用原生 C 和 Win32 API 编写,不依赖 Electron、Python、Java、.NET 或 WebView2。

便携

发布版为单个 .exe,无需安装。删除文件即可移除程序。

安全边界清晰

  • 不注入目标进程;
  • 不修改目标程序文件;
  • 不上传窗口内容;
  • 不收集用户数据;
  • 不连接远程服务器;
  • 不包含后台常驻服务。

调整直观

透明度和缩放均为百分比滑块,拖动时立即生效,不需要点击“应用”。

注意事项

Windows 安全提示

当前发布文件未使用商业代码签名证书,Windows SmartScreen 可能显示“未知发布者”。请仅从本仓库或可信来源下载。

管理员权限

如果目标程序以管理员身份运行,WinFloat 通常也需要以管理员身份启动,否则可能无法正确选择或控制该窗口。

游戏显示模式

建议使用窗口模式、无边框窗口模式或窗口化全屏。部分独占全屏游戏会覆盖桌面悬浮窗口。

最小化与特殊窗口

部分程序最小化后会停止绘制内容,可能导致悬浮画面停止更新、保持最后一帧或显示黑屏。DRM 视频、受保护内容和某些特殊 GPU 渲染窗口也可能无法捕获。

缩放清晰度

高于 100% 的缩放会放大源画面,清晰度受目标窗口原始分辨率影响。文字模糊时,建议先提高源程序字号或窗口尺寸。

多显示器和高 DPI

当前版本处于早期测试阶段,在混合 DPI、多显示器或特殊缩放设置下可能出现位置偏差。提交问题时请附带显示器布局与系统缩放比例。

系统要求

  • Windows 10 64 位
  • Windows 11 64 位
  • 已启用桌面窗口管理器(DWM)
  • 建议使用较新的显卡驱动

不支持 Windows 7、Windows 8/8.1、32 位 Windows、macOS 和 Linux。

从源码构建

仓库提供两种方式:

Windows + LLVM

安装 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。

About

一款轻量便携的 Windows 窗口悬浮工具,支持窗口置顶、鼠标穿透、透明度调节和等比例缩放。

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages