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 Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, _
ByVal fEnable As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
Sub 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 If
End Sub
Sub 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 If
End 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 Sub
Sub EnableStartBar(ByVal bEnable As Boolean)
EnableWindow FindWindow("Shell_TrayWnd", ""), bEnable
End Sub