我在桌面上使用 Windows 8。目前我必须将鼠标移到任务栏上,右键单击,单击属性,单击自动隐藏任务栏,然后单击确定。如果你想在一天中多次切换此状态,这真的很麻烦。事实上,这是行不通的,所以它默认保持开启状态,并在我不需要它时浪费了大量的屏幕空间。
有没有更好的办法?
(如果有帮助,我会使用 Autohotkey。)
答案1
这是一个自动热键脚本将Win+b变成切换任务栏自动隐藏设置的热键:
VarSetCapacity(APPBARDATA, A_PtrSize=4 ? 36:48)
#b::
NumPut(DllCall("Shell32\SHAppBarMessage", "UInt", 4 ; ABM_GETSTATE
, "Ptr", &APPBARDATA
, "Int")
? 2:1, APPBARDATA, A_PtrSize=4 ? 32:40) ; 2 - ABS_ALWAYSONTOP, 1 - ABS_AUTOHIDE
, DllCall("Shell32\SHAppBarMessage", "UInt", 10 ; ABM_SETSTATE
, "Ptr", &APPBARDATA)
KeyWait, % A_ThisHotkey
Return
如果你希望使用与Win+不同的键或组合键b,请将#b
第 3 行中双冒号前的 更改为你想要的任何热键(使用自动热键请参阅文档。
答案2
我发现了一个名为“任务栏控制”的程序,它可以让您设置任务栏自动隐藏切换键。
注意:如果您希望当前窗口自动填充空间,请确保下载“任务栏自动隐藏控制”版本。
答案3
要从 cmd 提示符或 .cmd 或 .bat 文件中自动隐藏任务栏:
Windows 7(StuckRects2)
powershell -command "&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v;&Stop-Process -f -ProcessName explorer}"
Windows 10(StuckRects3)
powershell -command "&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v;&Stop-Process -f -ProcessName explorer}"
解释
存储此值的注册表项还存储了许多其他设置。由于我们只想更改$v[8]
该注册表设置的位置 9(在 cmd 中),因此我们需要保留其他设置。
通常从 cmd 开始,使用reg add
命令修改注册表就足够了,但我们使用 powershell,因为它可以轻松保留存储在同一注册表项下的其他设置。
Explorer 也需要重新启动才能使更改生效。我们使用这个选项是Stop-Process
因为 Windows 会在 Explorer 停止时自动重新启动它。
注意:将上述命令更改$v[8]=3
为$v[8]=2
可撤消此更改(如果您希望任务栏始终可见)。
答案4
我想要一个可以完成 AHK 脚本基本功能的程序,但又不想为此安装 AHK,也不希望有其他后台进程监听热键,所以最后做了这个切换任务栏自动隐藏的工具。我对在最大化窗口切换时任务栏的行为很挑剔,所以现有的工具都不能让我满意。