Public Structure RECT
Public Left As Integer
Public Top As Integer
Public Right As Integer
Public Bottom As Integer
End Structure
Public Structure APPBARDATA
Public cbSize As Integer
Public hwnd As Integer
Public uCallbackMessage As Integer
Public uEdge As Integer
Public rc As RECT
Public lParam As Integer
End Structure
Public Const ABS_ALWAYSONTOP As Integer = &H002
Public Const ABS_AUTOHIDE As Integer = &H001
Public Const ABS_BOTH As Integer = &H003
Public Const ABM_ACTIVATE As Integer = &H006
Public Const ABM_GETSTATE As Integer = &H004
Public Const ABM_GETTASKBARPOS As Integer = &H005
Public Const ABM_NEW As Integer = &H000
Public Const ABM_QUERYPOS As Integer = &H002
Public Const ABM_SETAUTOHIDEBAR As Integer = &H008
Public Const ABM_SETSTATE As Integer = &H00A
Public Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwmsg As Integer, ByRef app As APPBARDATA) As Integer
Public Declare Function FindWindowX Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Sub SetAppBarAutoDisplay(ByVal IsAuto As Boolean)
Dim abd As APPBARDATA = New APPBARDATA()
abd.hwnd = FindWindowX("Shell_TrayWnd", "")
If IsAuto Then
abd.lParam = ABS_AUTOHIDE
SHAppBarMessage(ABM_SETSTATE, abd)
Else
abd.lParam = ABS_ALWAYSONTOP
SHAppBarMessage(ABM_SETSTATE, abd)
End If
End Sub
调用
SetAppBarAutoDisplay(True ) ‘True 设置为自动隐藏,False 取消自动隐藏