我希望能够在我关注桌面而非任何窗口时自动隐藏任务栏。我应该能够将鼠标悬停在底部以显示任务栏,但我只想在关注桌面时启用自动隐藏功能。
我知道可以运行一些脚本来启用和禁用自动隐藏功能,但我不知道如何检测我是否专注于背景。
我正在运行 Windows 11,但我认为在这种情况下它与 Windows 10 没有任何不同。
答案1
这里的回答真的很晚。我不知道有任何原生方法可以做到这一点,但我编写了这个 Autohotkey 脚本,如果桌面具有焦点,它会隐藏任务栏。如果桌面具有焦点,我无法让它在鼠标悬停时自动显示任务栏,但如果首先激活任何其他窗口,鼠标悬停就会起作用。此脚本还完全隐藏了任务栏(至少在最新的 Win 10 上)。所以底部没有难看的灰线。我还添加了以下热键:
显示任务栏:左 Ctrl + 右 Alt + s
隐藏任务栏:左 Ctrl + 右 Alt + h
终止脚本:左 Ctrl + 右 Alt + Escape
“Kill script”热键在任何地方都有效,另外两个热键在桌面处于焦点时有效。如果您的键盘有 Altgr 键,则可以使用该键代替左 Ctrl + 右 Alt。如果您花几分钟使用 Autohotkey,您可以将其更改为您想要的任何内容。运行它需要 Autohotkey(当前稳定版本)(免费且开源)。
#NoEnv
#SingleInstance,Force
#Persistent
SetWinDelay,0
GroupAdd, DesktopGroup, ahk_class Progman ; Adding both classes of desktop to the group "DesktopGroup"
GroupAdd, DesktopGroup, ahk_class WorkerW ;
Loop {
IfWinActive, ahk_group DesktopGroup
IfWinExist, ahk_class Shell_TrayWnd
{
WinHide,ahk_class Shell_TrayWnd
WinHide,Start ahk_class Button
}
Else
WinWaitNotActive, ahk_group DesktopGroup
Else
IfWinNotExist, ahk_class Shell_TrayWnd
WinShow,ahk_class Shell_TrayWnd
WinShow,Start ahk_class Button
}
<^>!Esc::ExitApp
#IfWinActive, ahk_group DesktopGroup
<^>!s::
{
WinShow,ahk_class Shell_TrayWnd
WinShow,Start ahk_class Button
Return
}
<^>!h::
{
WinHide,ahk_class Shell_TrayWnd
WinHide,Start ahk_class Button
Return
}
#IfWinActive
许可证:WTFPL