
Я использую Windows 8 на своем рабочем столе. Сейчас мне нужно навести указатель мыши на панель задач, щелкнуть правой кнопкой мыши, щелкнуть на свойствах, щелкнуть на автоматическом скрытии панели задач и затем нажать OK. Это настоящая головная боль, если вы хотите переключать этот статус между включенным и выключенным несколько раз в течение дня. На самом деле, это неработоспособно, поэтому он остается включенным по умолчанию и занимает много места на экране, когда он мне не нужен.
Есть ли способ лучше?
(Если это поможет, я использую Autohotkey.)
решение1
ВотAutoHotKeyскрипт для преобразования 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 на любую нужную вам горячую клавишу (используя синтаксис вAutoHotKeyдокументация).
решение2
Я нашел программу под названием «Управление панелью задач», которая позволяет установить клавишу переключения автоматического скрытия панели задач.
Примечание: Обязательно загрузите версию «Taskbar AutoHide Control», если хотите, чтобы текущее окно автоматически заполняло пространство.
решение3
Чтобы автоматически скрыть панель задач из командной строки или из файла .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}"
Объяснение
Ключ реестра, который хранит это значение, также хранит ряд других настроек. Поскольку мы хотим изменить только позицию 9 ( $v[8]
в cmd) этого параметра реестра, нам нужно сохранить другие настройки.
Обычно из cmd достаточно использовать reg add
команду для изменения реестра, но мы используем powershell, поскольку это позволяет легко сохранить другие настройки, хранящиеся в том же разделе реестра.
Explorer также необходимо перезапустить, чтобы изменения вступили в силу. Мы используем, Stop-Process
поскольку Windows автоматически перезапускает Explorer, когда он останавливается.
Примечание: измените $v[8]=3
на $v[8]=2
в командах выше, чтобы отменить это изменение (если вы хотите, чтобы панель задач всегда была видна).
решение4
Мне нужно было что-то, что делало бы по сути то же, что и скрипт AHK, но я не хотел устанавливать AHK только ради этого, а также не хотел, чтобы еще один фоновый процесс прослушивал горячую клавишу, поэтому в итоге сделал этоинструмент для переключения автоматического скрытия панели задач. Я придирчив к тому, как ведет себя панель задач при переключении с развернутыми окнами, поэтому ни один из существующих инструментов меня не удовлетворил.