![如何在 Windows 7 中使用键盘快捷键手动隐藏/取消隐藏任务栏?](https://linux22.com/image/1566417/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%207%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E9%94%AE%E6%89%8B%E5%8A%A8%E9%9A%90%E8%97%8F%2F%E5%8F%96%E6%B6%88%E9%9A%90%E8%97%8F%E4%BB%BB%E5%8A%A1%E6%A0%8F%EF%BC%9F.png)
我想使用键盘快捷键(如果可以的话,我可以自己选择)手动隐藏/显示 Windows 7 中的 Windows 任务栏。我更喜欢手动设置快捷方式。如果这不可能,我会使用便携式软件(可以从闪存驱动器运行的软件)来帮我完成。但最终我愿意接受任何建议。
我已经了解:
- AutoHotkey(独立键盘快捷键,便携式软件)
- Aviassin Taskbar Eliminator(预设键盘快捷键,便携式软件)
- RocketDock(基于软件 - 需要安装)
请注意:这不是该问题的重复(询问如何启用/禁用自动隐藏功能): 自动隐藏/取消隐藏 Windows 任务栏的脚本/工具
答案1
我不太清楚我的是如何工作的,它只是一个批处理脚本,由我从互联网上获取的一些代码片段组成,但你可以去看看。
:: Settings: 0) Enable, 1) Disable
@echo off
set /p setting=<"C:\Auto-hide Taskbar CLI\currentSettings.txt"
echo %setting%
if %setting%==0 (
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}"
del "C:\Auto-hide Taskbar CLI\currentSettings.txt"
echo 1 1> "C:\Auto-hide Taskbar CLI\currentSettings.txt"
)
if %setting%==1 (
powershell -command "&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=2;&Set-ItemProperty -Path $p -Name Settings -Value $v;&Stop-Process -f -ProcessName explorer}"
del "C:\Auto-hide Taskbar CLI\currentSettings.txt"
echo 0 1> "C:\Auto-hide Taskbar CLI\currentSettings.txt"
)
基本上,它只是调用 powershell 并更改应该控制自动隐藏设置的注册表项的设置(基于 Windows 10)。然后它将当前设置保存在文本文件中,以便我可以创建某种开关。然后我使用 System32 中的 iexpress 程序创建它的 exe,这样我就可以静默运行批处理。我创建了 exe (.lnk) 的快捷方式并为其分配了键盘快捷键。我遇到的问题是它会重新启动资源管理器,这会妨碍我的工作。
更新,我找到了一个效果很好的 autohotkey 脚本。代码如下
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
VarSetCapacity(APPBARDATA, A_PtrSize=4 ? 36:48)
Lctrl & MButton::
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
快捷键是左 ctrl 和鼠标中键或滚动按钮。要更改热键,请更改此部分“Lctrl & MButton::”
唯一的问题是,如果您启用了虚拟桌面,并且在每个虚拟桌面上打开了多个 chrome 窗口,它就会对虚拟桌面进行随机播放,这样您就会进行传送,这种情况有时会发生。