Restore Notification Area Icon after Explorer Crash
If you are writing any application which adds an icon to the Taskbar notification area, it’s recommend to handle the “WM_TASKBARCREATED” the message sent by explorer. This message is sent by explorer when it’s creating the taskbar. As after crash explorer doesn’t remember the original notification icons, you should handle this message and then re-register your application notification icon.
To capture this message, you must first register it like this:
1 | const static UINT WM_TASKBARCREATED = ::RegisterWindowMessage(__T("TaskbarCreated")); |
const static UINT WM_TASKBARCREATED = ::RegisterWindowMessage(__T("TaskbarCreated"));
Once it’s registered, you should handle this in your Windows Callback Procedure to re-add the icon for your application in the notification area. Something like this:
1 2 3 4 5 6 | // Check if the Taskbar is just being created. This message is broadcast by the Explorer // when it's launched (after any crash) if (message == WM_TASKBARCREATED) { // Add the code to re-add your application in the notification area. } |
// Check if the Taskbar is just being created. This message is broadcast by the Explorer // when it's launched (after any crash) if (message == WM_TASKBARCREATED) { // Add the code to re-add your application in the notification area. }
Simple, but yet effective. What do you think?
Tags: Explorer, Icon, Notification Area, Restore
This entry was posted
on Monday, July 14th, 2008 at 7:05 pm and is filed under Win32 API, Windows.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
Great trick