back
12 comments
Why has the tray icons still existing despite process being killed bug gone unfixed for decades?

Microsoft does not care or extremely sucks at quality assurance.

I'm guessing its some ipc that only adds or removes entries, but when you mouseover it sends a signal to the killed process, realizes its gone, and only then deletes the icon from the systray...
Does that make it okay? There are many ways to have it learn the process dies without needing to signal the process.
Yes, let's invent some system for Explorer to query and maintain the notification area icons and for the apps to report their list of the notification icons. Some KPI pusher would be vewy-vewy glad.

By the way, if the app wouldn't respond in time, what should happen with the icon? What would happen if Explorer removes the icon but the app which still thinks it has - would update it?

I'm not suggesting a new system or a timeout. I'm suggesting passing a two sided handle (like a socket) where you can listen for the other end closing. Upon closing, which should only happen due to a bug or the process exiting, the notification bar can remove the icon. This is IPC 101.
What happens if Explorer itself crashes?

What happens if your NotificationAreaAPIv2 is not widely adopted?

What happens with the apps what were never adopted to your v2 API? (You still have the problem anyway).

EDIT: And what happens with the old apps when you deprecate the old API?

That is correct
This is a bug of the application and not of windows.

It's maybe a bad API design, but in the end every app developer can fix it for their apps.

My guess: technical debt makes fixing it impossible. I can’t believe many Microsoft developers didn’t try to fix it.
For all the hard work they did with driver updates, actual driver management still sucks very badly. Simple concepts such as pinning a driver, something that could be a checkbox, requires edits to the registry or group policy: https://www.tenforums.com/tutorials/146562-prevent-windows-u...
Did they not look up the PC manufacturer or model number to verify this hypothesis?