This problem has been afflicting me for quite a while and it\'s been really annoying.
Every time I login after a reboot/power cycle the explorer takes some time to s
After lots of times trying I found that there are three issues you must to know:
NotifyIconOverflowWindow, other than Shell_TrayWnd.caption parameter of FindWindowEx to find a window, because these is lots of langue versions of Windows OS, they are not always be the same title Obviously.spy++ of Visual Studio to find or make assurance what you want.So, I changed code from @Stephen Klancher and @Louis Davis, thank you guys.
The following code worked for me.
#define FW(x,y) FindWindowEx(x, NULL, y, L"")
void RefreshTaskbarNotificationArea()
{
HWND hNotificationArea;
RECT r;
GetClientRect(hNotificationArea = FindWindowEx(FW(NULL, L"NotifyIconOverflowWindow"), NULL, L"ToolbarWindow32", NULL), &r);
for (LONG x = 0; x < r.right; x += 5)
{
for (LONG y = 0; y < r.bottom; y += 5)
{
SendMessage(hNotificationArea, WM_MOUSEMOVE, 0, (y << 16) + x);
}
}
}