Hi there, I've added the following to TRxTrayIcon to allow the TrayIcon to be redrawn after Explorer crashes.
Regards
jason .garrett @ tollowens .co .nz
RxShell.pas
Add following to TRxTrayIcon Class private section:
WM_TASKBARCREATED : integer;
Add following to end of TRxTrayIcon.Create routine:
WM_TASKBARCREATED := RegisterWindowMessage('TaskbarCreated');
In TRxTrayIcon.WndProc, replace final else statement
//------------------------------------------- else Result := DefWindowProc(FHandle, Msg, wParam, lParam);
//-------------------------------------------
with statement to handle taskbar event
//-------------------------------------------
else if (Msg = WM_TASKBARCREATED) then
begin
// We handle WM_TASKBARCREATED because it's possible that Explorer
// crashed and was recreated, in which case we need to re-add our icon. */
Activate();
end
else Result := DefWindowProc(FHandle, Msg, wParam, lParam);
//-------------------------------------------