My app was randomly killing the taskbar which would disappear on app exit and not reappear until you restarted Windows. Sometimes it would flash the taskbar off and on instead.
The culprit? A single window with Menu Bar Visible option set to on. You can only see this option under the gear symbol of the inspector when selecting the window. It wasn’t even necessary to instantiate the window apparently.
If you’re still searching for the problem, the following line of code will also kill the taskbar
I ran into this a while back and, fortunately, got a bit of help from various folks here and elsewhere. So, here’s a routine I put in my toolkit for controlling the taskbar. It’s for Windows only as that’s all I program in at this time.
Public Sub TaskBarVisible(Visible As Boolean)
Declare Function FindWindow Lib "User32.dll" Alias "FindWindowW" ( _
lpClassName As WString, _
lpWindowName As WString _
) As Integer
Declare Function SetWindowPos Lib "User32.dll" Alias "SetWindowPos" ( _
hWnd As Integer, _
hWndInsertAfter As Integer, _
X As Int32, _
Y As Int32, _
cx As Int32, _
cy As Int32, _
uFlags As UInt32 _
) As Int32
Const SWP_HIDEWINDOW = &h0080
Const SWP_SHOWWINDOW = &h0040
Const SWP_NOACTIVATE = &h0010 ' so our app doesn't lose focus when we call SetWindowPos
Dim taskbar As Integer = FindWindow ("Shell_traywnd", "")
If Visible = True Then
Call SetWindowPos (taskbar, 0, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOACTIVATE)
Else
Call SetWindowPos (taskbar, 0, 0, 0, 0, 0, SWP_HIDEWINDOW Or SWP_NOACTIVATE)
End If
End Sub
And FYI, the culprit single window with Menubar visible set to false was an implicit instance which is why it killed the taskbar even if it wasn’t shown.