一个开源工具,让任意Windows窗口保持置顶:AlwaysOnTop快速上手指南

一个开源工具,让任意Windows窗口保持置顶:AlwaysOnTop快速上手指南

【免费下载链接】AlwaysOnTop Make a Windows application always run on top 【免费下载链接】AlwaysOnTop 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop

如果你经常同时开着好几个应用,一定有过这样的经历:好不容易打开的参考资料,切个窗口就被压到底层;在线听课想边看视频边记笔记,两个窗口来回切换到头昏。Windows系统本身并没有提供"让某个窗口一直显示在最前面"的功能,而市面上的窗口管理软件大多笨重又收费。开源项目 AlwaysOnTop 就是为解决这个具体问题而生的:一个常驻系统托盘的小程序,让你用两次点击,就能把任意 Windows 应用窗口固定在所有窗口之上,随时还能一键撤销。

先看它解决什么问题

AlwaysOnTop 做的事情很简单——调整窗口在系统中的显示层级,不动窗口大小、不影响窗口原有功能,也不去碰别的程序。它本身只是个几十 KB 的托盘程序,在后台静默运行,占用的资源几乎可以忽略不计。

适合它的典型场景:

  • 写代码时把浏览器里的接口文档悬停在编辑器上方,边看边敲;
  • 录制教程或开会共享屏幕时,把提词稿或笔记窗口固定在最上层;
  • 一边看视频教程一边做练习,不用再反复切换窗口;
  • 游戏过程中把攻略页或聊天窗口钉在游戏画面上方。

凡是"两个窗口需要同时可见、但系统默认做不到"的情况,都值得一试。

三步完成一次窗口置顶

整个操作流程短到可以背下来:

  1. 运行 AlwaysOnTop,系统托盘出现它的紫色图标(首次启动会弹一条气泡通知确认它在后台运行);
  2. 左键或右键点击托盘图标,在弹出的菜单里选择 "AlwaysOnTop";
  3. 这时鼠标指针会变成十字形,把十字对准你想置顶的窗口点一下即可。

置顶成功后,该窗口标题栏末尾会被追加 - AlwaysOnTop 字样,作为状态标记。再次执行同样的操作,标记消失,窗口恢复正常层级。

小提示:如果你用鼠标点击时不小心没点中窗口,程序会给出提示;万一光标没有恢复原状,打开托盘菜单里的 "Help" 窗口,里面有一个专门用来恢复箭头的按钮。

进阶用法一:配置全局快捷键

从 0.5.0 版本起,AlwaysOnTop 支持自定义全局快捷键,置顶不再需要碰鼠标。在托盘菜单里打开 Settings,勾选 "Use Hot Key",再点 "Set Hotkey",按下你习惯的组合键(例如 Ctrl+Shift+T),保存后应用。之后每次按下这个组合键,当前正在前台活动的窗口就会被直接置顶或取消置顶。

这套快捷键是全局生效的,即使 AlwaysOnTop 本身没在前台也能响应。适合设置成一组好记的组合,比如:

使用习惯建议组合键
高频置顶/取消Ctrl+Shift+T
仅用于看文档Ctrl+Alt+D
习惯用功能键Ctrl+F12

注意一点:修改快捷键相关的设置后,程序会提示需要重启才生效,选择立即重启即可。

进阶用法二:开机自启动与通知管理

Settings 里还有两个高频选项值得勾选:

  • Run at Login(开机自启动):把程序注册到 Windows 启动项里,登录后自动在托盘后台运行,适合那些每天都要用置顶功能的用户;
  • Disable Balloon Notify(关闭气泡通知):如果你觉得每次置顶都弹通知太吵,勾选它,操作会安静很多。

其余设置项(标题栏右键菜单、按标题记忆窗口等)在源代码里标注为待开发功能,界面上暂时处于不可用状态,可以不用理会。

配置存在哪里、如何备份

AlwaysOnTop 把全部配置写进当前用户的注册表:

HKCU\SOFTWARE\AlwaysOnTop

重装系统前想保留配置,可以用 regedit 定位到这个键值,右键导出为 .reg 文件,新系统里双击导入即可恢复。启动项则单独写入了 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,也就是标准 Windows 自启动位置,在任务管理器的"启动"标签里同样能看到。

避坑:几个新手常踩的坑

按项目文档和常见使用反馈,下面几个问题出现频率最高:

  • 个别窗口怎么点都置顶不了。 优先尝试以管理员身份运行 AlwaysOnTop;如果目标程序本身以管理员权限运行,而 AlwaysOnTop 是普通权限,两者权限层级不同,可能会互相"看不见"。把两边都调成管理员权限通常能解决。
  • 快捷键按了没反应。 先确认托盘图标还在;再检查组合键是否被其他软件占用;最后回到 Settings 里重新设置一次并重启程序。
  • 程序异常退出。 错误日志写在程序目录下的 AoT_Error.log 文件里,遇到崩溃先看这个文件,再考虑是否缺少 .NET Framework 4.5.2 运行环境。

想改代码?项目结构并不复杂

AlwaysOnTop 用 C# 编写,基于 WinForms,代码量不大,全部源码随项目公开。如果你对"窗口置顶"这类系统级操作感兴趣,几个关键文件值得翻一翻:

  • Classes/Methods.cs:核心逻辑所在,通过调用 user32 的 SetWindowPos 把窗口句柄置为 TOPMOST / NOTOPMOST,并拼接窗口标题;
  • Classes/globalKeyboardHook.cs:全局键盘钩子实现,负责拦截你的自定义快捷键;
  • Classes/AlwaysOnTop.cs:托盘菜单、右键逻辑、状态判断等主窗体逻辑;
  • Classes/FormSettings.cs:设置界面,读写注册表。

用 Visual Studio 打开解决方案直接编译即可产出 exe。项目要求 .NET Framework 4.5.2 以上,兼容 Windows 7 到 Windows 10 的 32/64 位系统,Windows Server 未做官方测试。

与同类方案的取舍

市面上能实现置顶的工具有不少,但 AlwaysOnTop 的定位很明确:只做一件事,并把这件事做到最轻。它没有窗口整理、虚拟桌面、布局快照这些附加功能,换来的是极低的体积和几乎为零的学习成本。如果你要的是"打开就用、两步置顶",它比那些功能繁多的桌面管理套件更顺手;反过来,如果你需要的是整套窗口管理方案,那它不是那个答案。

下一步:花一分钟试一次

到这里,工具的全貌已经介绍完了,剩下的事情只需要一分钟:下载或编译一个版本,启动,把某个文档窗口置顶,再取消。体验过一轮,你就知道它合不合自己的习惯。

如果想直接从源码开始,可以这样拉取:

git clone https://gitcode.com/gh_mirrors/al/AlwaysOnTop

这个项目从 2016 年首次发布以来迭代平稳,置顶、托盘、全局快捷键这几条主干功能都已稳定可用。与其记下这篇介绍,不如现在就去把你的参考资料窗口钉在最上层试试。

【免费下载链接】AlwaysOnTop Make a Windows application always run on top 【免费下载链接】AlwaysOnTop 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值