Task bar randomly and completely disappears

Copper Contributor

I have set up my first Windows 11 system. And here the Windows 11 task bar sometimes completely disappears. Completely = there is no grey line at the desktop bottom, and nothing happens if I move the mouse pointer there. Ctrl+Esc still works and pops up the App start panel. But no task bar.

 

This is independent from the task bar "auto hide" setting. It always keeps disappearing in random intervals of hours or mintues. Sometimes it will come back a few minutes later, sometimes not. Sometimes opening an explorer window by Win+E will make it reappear, sometimes not. Sometimes running taskmgr via Win+R will make it reappear, sometimes not.

 

Any idea what's happening there? And how to fix it?

 

I am a developer and used to program own workarounds on Windows UI quirks. If there is a solution like "send some WM_xxx message to the explorer process" or "run the program XY" to restore the task bar, I might be able to implement a workaround.

5 Replies
System configuration:

Windows 11 Pro
Build 22000.556
Windows Feature Experience Pack 1000.22000.556.0
All the latest updates installed.
AMD 64-bit System
The task bar will always come back when I run either Task Manager or Process Explorer (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). There must be something in common to those process managers which (re)activates the task bar. Would be great to know what that is - then I could implement a workaround.
Oh wait - there is one thing that TaskManager and Process Explorer have in common: Both show up in the task bar's tray section. That could be the key to implement a workaround: produce some ongoing dummy activity in the tray. Process Explorer was in the overflow section, which normally is invisible, so the dummy activity could be kept invisible.

不好意思,就我想问一下怎么在这个上面提问啊?

As suspected, adding an icon the the tray will bring the task bar back:

BYTE b = 255;
HICON hi = CreateIcon(hInstance, 1, 1, 1, 1, &b, &b);
NOTIFYICONDATA nd = { sizeof nd, NULL, 1, 0, 0, hi };
Shell_NotifyIcon(NIM_ADD, &nd);
Shell_NotifyIcon(NIM_DELETE, &nd);

Now I will write a program that hooks into mouse input and will execute these five code lines every time the mouse is moved to the screen bottom. That will completely fix this issue for me.