Hide Your Taskbar for Full Screen Apps

October 2016

This article will explain how to make optimal use of your computer screen by using a macro to hide your taskbar while an application is being viewed in fullscreen mode. This VBA will help you dedicate a keyboard shortcut so that hiding your taskbar is quick and simple.

Macro to Hide Taskbar for Full Screen Apps

You may use this macro to program your computer to auto-hide your taskbar when an application is in fullscreen mode:

'*** Lermite ******
'*** 06/03/2010 ******
Option Explicit
Public Bascule As Boolean

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Public Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwMessage As Long, pData As AppBarData) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As _
Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Type POINTAPI
X As Long
Y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Type AppBarData
cbSize As Long
hwnd As Long
uCallbackMessage As Long
uEdge As Long
rc As RECT
lParam As Long
End Type
Length As Long
showCmd As Long
ptMinPosition As POINTAPI
ptMaxPosition As POINTAPI
rcNormalPosition As RECT
End Type
Public WinPlacement As WINDOWPLACEMENT

Public Const ABS_ALWAYSONTOP = &H2
Public Const ABS_AUTOHIDE = &H1
Public Const ABM_GETSTATE = &H4
Public Const ABM_SETSTATE = &HA

' Trouver le hwnd de la barre des tâches
Private Function GetHwndBT() As Long
GetHwndBT = FindWindow("shell_traywnd", "")
End Function

Private Function BarData() As Integer
Dim BarDt As AppBarData
BarData = SHAppBarMessage(ABM_GETSTATE, BarDt)
End Function

'Retourne true si la barre des tâches est rétractible
Public Function BarMode() As Boolean
Dim ret As Integer
ret = BarData()
End Function

'Applique les propriétés à la barre des taches
'Mode = 0 : voir la barre des tâche
'Mode = 1 : cache la barre des tâches
Public Sub ChangeTaskBar(Mode As Long)
Dim BarDt As AppBarData
Dim ret As Long

'Entrée des paramètres
BarDt.cbSize = Len(BarDt)
BarDt.hwnd = GetHwndBT
BarDt.lParam = Mode
ret = SHAppBarMessage(ABM_SETSTATE, BarDt)

If ret = 0 Then
Call MsgBox("erreur lors de l'appel de SHAppBarMessage", vbCritical + vbOKOnly, "Erreur")
End If
End Sub

Sub MaximizeAppli()
Static a As Boolean
Static Changer As Integer
If Changer = 0 Then
'Voir si la barre des tâches est rétractible
Changer = IIf(BarMode, 1, 2)
End If
a = Not a
If Changer = 2 Then
'la barre des tâches n'est pas rétractible, ont la retracte / Ressort
Call ChangeTaskBar(Abs(a))
End If
'L'appli sera toujours maximizée plein écran.
Application.WindowState = IIf(a, xlMaximized, xlNormal)
End Sub

Practical Uses for Taskbar Macro

The first use of this macro is as a keyboard shortcut. To set this, go to your ribbon and click on Macro. Select the MaximizeAppli macro. Then, click on Option and assign a letter to the shortcut.

The second use of this macro is as a form button. You can do this by assigning the MaximizeAppli function to a button.

This macro may also be used with a button on a UserForm. To do this, the userform must be named something containing Show0 in the button's code:
Private Sub CommandButton1_Click()    
Dim T, L
'Exemple pour positionner le bouton aux environs des boutons système de l'appli.
L = Application.Left + Application.Width - UFbouton.Width - 60
T = Application.Top + 2
Me.Move L, T, 40, 14 ' à adapter
End Sub

You can download a demo workbook demo of this macro here.

Related :

This document entitled « Hide Your Taskbar for Full Screen Apps » from CCM (ccm.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.