这段代码实现了 隐藏或显示任务栏 的功能。它利用 Windows API 与 SHAppBarMessage 函数交互,动态设置任务栏的状态,同时通过 WinHideWinShow 控制任务栏和相关按钮的可见性。

 

ABM_SETSTATE := 10
ABS_NORMAL := 0x0
ABS_AUTOHIDE := 0x1
ABS_AlwaysOnTOP := 0x2
VarSetCapacity( APPBARDATA , 36, 0 )
Off := NumPut( 36, APPBARDATA )
Off := NumPut( WinExist("ahk_class Shell_TrayWnd"), Off+0 )

F1:: ;{隐藏或者显示任务栏
IfWinExist,ahk_class Shell_TrayWnd ;判断是否存在任务栏窗口
{
NumPut( ABS_AUTOHIDE|ABS_AlwaysOnTOP, Off+24 )
DllCall("Shell32.dll\SHAppBarMessage", UInt,ABM_SETSTATE, UInt,&APPBARDATA )
WinHide ahk_class Shell_TrayWnd
WinHide ahk_class Button
return
}else{
NumPut( ABS_AlwaysOnTOP, Off+24 )
DllCall("Shell32.dll\SHAppBarMessage", UInt,ABM_SETSTATE, UInt,&APPBARDATA )
WinShow ahk_class Shell_TrayWnd
WinShow ahk_class Button
return
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。