在没有键盘快捷键的情况下制作任何窗口应用程序“始终在顶部”?

Nur*_*Nur 72 window-manager desktop-customization windows-10

我在这里检查了上一个问题,但不幸的是:

  1. 从 Windows 8 开始,DeskPin 大多无法使用,并且在 Windows 10 中仍然无法使用
  2. PowerMenu自 2002 年以来未更新,并且在 Windows 10 中似乎不起作用
  3. AutoHotKey 和 AlwaysOnTopMaker 需要键盘,没有视觉指示窗口是否标记为 Always on Top

我找到了一个名为TurboTop的程序,它可以从系统托盘执行此操作,但在 Windows 10 中,TurboTop 列出了所有未在其列表中运行的程序,两次。这是一团糟。

WindowPinner做得更好,但它仍然包括列表中未运行的程序。

有没有不需要键盘的GUI方式工作的解决方案,比如长按/右键单击标题栏并选择Always on Top?如果你习惯了 Ubuntu Linux,你就会知道这个功能。

And*_*nes 36

Dexpot做到了这一点,它支持“巧妙使用标题栏”:

可以为标题栏以及最小化、最大化和关闭按钮分配更多功能(角色向上、最小化到系统托盘等)。

始终在最前面是其中一项功能。例如,您可以右键单击最大化按钮以激活始终在顶部。

  • Dexpot 仅供个人免费使用。 (7认同)
  • 只是想为此添加一个更好的选项,您可以使用 AquaSnap,它更容易,因为您只需摇动窗口使其始终在顶部,而不是右键单击/长按。 (2认同)
  • @JanDvorak 看看我的答案 - 它是 GPL,可以随意使用(无耻插件:我是作者) (2认同)
  • @JoshuaParnell 除非它可以将自己插入到窗口的上下文菜单中,否则我坚持使用 Turbotop,原因在您的答案的评论中列出。 (2认同)

Jos*_*ell 29

下载AlwaysOnTop安装程序并安装它(选择最新版本)。从开始 -> 所有程序 -> AlwaysOnTop 运行应用程序。它位于系统托盘中。单击托盘中的图标,单击“AlwaysOnTop”,然后单击要停留在顶部的窗口(等待窗口时,光标将是十字)。

完全公开,我是应用程序作者,这是使用 .Net (C#) 构建的。也可以在链接中找到完整的源代码。

  • “下载这个。运行exe,......”对我的影响几乎和你说的“拿这个注射器并将内容物注入你的血流......”一样。 (29认同)
  • 这个应用程序有一个非常大的问题,在 Windows 10 上它会导致键盘停止接受输入,这可能是由于尝试注册键盘挂钩。请参阅 [使用时键盘不工作。#15](https://github.com/jparnell8839/AlwaysOnTop/issues/15)。 (6认同)
  • 它被编译为 32 位 - 如果你不信任编译后的可执行文件(我不是在暗示你不相信,只是把它放在这里供将来的读者使用),可以将使用 AutoIt 制作的可执行文件反编译为源 au3文件(可以用记事本、记事本++等读取)。 (3认同)
  • @srgb 我完全同意。我相信这是因为它是内置在 AutoIt 中的。我最近增加了它的功能(稍微),但是因为 AutoIt 应用程序的 GUI 需要一个恒定的 while 循环来保持活动状态,随着更多功能的添加,这可能会消耗 CPU。我计划在有时间的情况下用 C# 重写这个应用程序。 (3认同)
  • @srgb 这看起来好一点吗? http://prnt.sc/dpmoei 按照承诺用 C# 重写。我没有像我希望的那样有足够的时间来做这件事,包括假期等等。 (3认同)
  • 它取自http://www.howtogeek.com/howto/13784/keep-a-window-on-top-with-a-handy-autohotkey-script/ (2认同)
  • 是的,不是真的。我用它给出了说明。这是一个简单的程序。不需要太多指导。你还想要什么,后台运行需要 568 KB 内存?如果您有修改建议,请提出建议 (2认同)
  • 截图看起来肯定更好:) 我看到你更新了 Github。会给它一个旋转。干杯更新:在切换 Windows/桌面时,cpu 和内存使用情况似乎稳定。惊人的。如果我遇到任何问题,我将继续监控并通知您。 (2认同)
  • 微软新的开源应用程序很好地集成了这个功能。https://docs.microsoft.com/en-us/windows/powertoys/ (2认同)

Bao*_*dad 19

这与 OP 的原始问题无关,但似乎是共享有关“始终在顶部”实用程序信息的好地方,即使它确实需要点击几下。

从编程的角度来看,编写像这样的简单实用程序是一项非常简单的练习。也许这就是为什么那里的解决方案如此之少,或者也许是为什么有如此多的本土解决方案。

我很难相信从某人的 Google Drive 或 Dropbox 帐户下载的实用程序。但我确实信任Nirsoft 的Nir Sofer 。他有一个名为 WinLister 的小应用程序,我们可以在其中将窗口设置为始终位于顶部。如果你经常这样做,它对用户不是很友好,但我只是偶尔需要在顶部固定一个窗口,所以它对我有用。

http://www.nirsoft.net/utils/winlister.html

  • 当您使用 Windows 10 时,请确保将兼容模式设置为 Windows 8。 (2认同)

Sha*_*yan 10

您可以使用 AutoHotkey 并使用一行代码制作脚本:

^SPACE:: Winset, AlwaysOnTop, , A
Run Code Online (Sandbox Code Playgroud)

Ctrl+Space将切换一个窗口以保持在顶部。


看看完整的语法:

WinSet、AlwaysOnTop、OnOffToggle、WinTitle、WinText、ExcludeTitle、ExcludeText

A激活WinTitle A这意味着活动窗口

Winset此处阅读有关命令的更多信息:https : //autohotkey.com/docs/commands/WinSet.htm


如果您不熟悉 AutoHotkey,请从这里下载:https : //www.autohotkey.com/

并学习使用它:https : //autohotkey.com/docs/Tutorial.htm

解释 AutoHotkey 与此答案无关,教程链接将比我解释得更好。


使用热键进行切换AlwaysOnTop是最方便的,但如果您打算不使用键盘,这里有一个 GUI 方式来执行此操作,因为它是被请求的:

#Persistent
Menu, Tray, Add, Toggle Always On Top, AlwaysOnTop

AlwaysOnTop:
Sleep, 100
Winset, AlwaysOnTop, , A
return
Run Code Online (Sandbox Code Playgroud)

只需右键单击任务栏上的 Autohotkey 脚本图标,然后单击“Toggle Always On Top”。


cha*_*rsi 5

多年来,我一直为此使用VirtuaWin。它允许我在任何窗口的标题栏上单击鼠标中键,使其保持“始终在顶部”。在 win 10 上运行良好。免费、开源。