Тема: AHK: Скрыть/Вернуть Панель задач (Hide/Unhide taskbar)
Итак захотелось мне чтобы по горячей клавише панель задач полностью пряталась
и при повторной горячей появлялась назад .
Из множества скриптов в нете я нашел один частично рабочий .
Так как в скрипта не соображаю помогите допилить ...
У меня не заработали следующие вещи
1) После возвращения панели задач сбрасываются ее прежние размеры .
2) Горячая клавиша почему-то не работает .
#NoEnv
#NoTrayIcon
#SingleInstance force
DetectHiddenWindows, Off ;for IfWinExist
VarSetCapacity( APPBARDATA, 36, 0 )
;------------------------------------------------------------
; Fetch current hidden/showing status
IfWinNotExist, ahk_class Shell_TrayWnd
TaskbarAndStartToggleState = 0 ;Currently hidden (not showing)
Else
TaskbarAndStartToggleState = 1 ;Currently non-hidden (showing)
;------------------------------------------------------------
Gosub +space ;Toggle the taskbar/SM state
;------------------------------------------------------------
Exit
;------------------------------------------------------------
+space::
TaskbarAndStartToggleState := Func(TaskbarAndStartToggleState)
Return
Func(TaskbarAndStartToggleState)
{
Global APPBARDATA
If TaskbarAndStartToggleState = 0
{
NumPut( (ABS_ALWAYSONTOP := 0x2), APPBARDATA, 32, "UInt" ) ;Enable "Always on top" (& disable auto-hide)
DllCall( "Shell32.dll\SHAppBarMessage", "UInt", ( ABM_SETSTATE := 0xA ), "UInt", &APPBARDATA )
WinShow ahk_class Shell_TrayWnd
Return 1 ;Now showing
}
If TaskbarAndStartToggleState = 1
{
NumPut( ( ABS_AUTOHIDE := 0x1 ), APPBARDATA, 32, "UInt" ) ;Disable "Always on top" (& enable auto-hide to hide Start button)
DllCall( "Shell32.dll\SHAppBarMessage", "UInt", ( ABM_SETSTATE := 0xA ), "UInt", &APPBARDATA )
WinHide ahk_class Shell_TrayWnd
;WinHide ahk_class Shell_TrayWnd ;don't need this 2nd one?
Return 0 ;Now hidden
}
}