The Windows’ application bar (or Startbar) is a window like any other window in the system, so you can hide/show and enable/disable it. The only thing you need to know is that that the class name of the Start bar window is “Shell_TrayWnd” and that its window name is a null string. Here is the code that lets you do the trick:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _ lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As LongPrivate Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, _ ByVal fEnable As Long) As LongPrivate Const SW_HIDE = 0Private Const SW_SHOW = 5Sub ShowStartBar(ByVal bVisible As Boolean) Dim hWnd_StartBar As Long hWnd_StartBar = FindWindow("Shell_TrayWnd", "") If bVisible Then ShowWindow hWnd_StartBar, SW_SHOW Else ShowWindow hWnd_StartBar, SW_HIDE End IfEnd SubSub EnableStartBar(ByVal bEnable As Boolean) Dim hWnd_StartBar As Long hWnd_StartBar = FindWindow("Shell_TrayWnd", "") If bEnable Then EnableWindow hWnd_StartBar, True Else EnableWindow hWnd_StartBar, False End IfEnd Sub
If you like concise code you can rewrite the above procedures as follows:
Sub ShowStartBar(ByVal bVisible As Boolean) ShowWindow FindWindow("Shell_TrayWnd", ""), IIf(bVisible, SW_SHOW, SW_HIDE)End SubSub EnableStartBar(ByVal bEnable As Boolean) EnableWindow FindWindow("Shell_TrayWnd", ""), bEnableEnd Sub