Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper Fixing for Tray Icon #3396

Open
2 tasks done
EMREOYUN opened this issue Nov 21, 2024 · 1 comment
Open
2 tasks done

Proper Fixing for Tray Icon #3396

EMREOYUN opened this issue Nov 21, 2024 · 1 comment

Comments

@EMREOYUN
Copy link

Rules

  • I made myself familiar with the Readme, FAQ and Troubleshooting.
  • I understand that, if insufficient information will be provided, my issue will be closed without an answer.

Is your feature request related to a problem? Please describe

Related with #3275, restarting or crashing explorer.exe or starting the app before explorer.exe does indeed removes the tray icon.

Describe the solution you'd like

There is a reply in voicemeeter forum that explains how other tray icons constantly refreshes so they appears after crash or restart.

Describe alternatives you've considered

Maybe valinet/ExplorerPatcher#3051 will help.

Device and Model

ASUS TUF F15

Additional information.

To reproduce, start the app even before explorer.exe or restart the explorer.exe to make the tray icon dissappear.

@gabezal
Copy link

gabezal commented Jan 4, 2025

Wow, it seems that Microsoft has even gotten around to documenting the TaskbarCreated message: https://learn.microsoft.com/en-us/windows/win32/shell/taskbar.

With Microsoft Internet Explorer 4.0 and later, the Shell notifies applications that the taskbar has been created. When the taskbar is created, it registers a message with the TaskbarCreated string and then broadcasts this message to all top-level windows. When your taskbar application receives this message, it should assume that any taskbar icons it added have been removed and add them again. This feature generally applies only to services that are already running when the Shell launches. The following example shows a very simplified method for handling this case.

This is kind of amazing, seeing how it's been undocumented since at least the Windows XP days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants