Some programs, unfortunately mIRC doesn't seem to be one of them, check to see if their icon is still being displayed, and if not, regenerates the icon.
No no no! This is an incredibly crude way to do this and furthermore wastes CPU cycles. The correct way for a program to implement systray icon recovery on Explorer restart is for it to register to receive the custom message: "TaskbarCreated" using RegisterWindowMessage() as any self-certified Windows programmer should be well aware.
Additionally, for testing purposes, Explorer can be restarted manually by accessing the shut down dialog and then clicking the Cancel button, whilst holding down all the accelerator keys (CTRL+ALT+SHIFT).
EDIT: Re: johndoe2k4haha
I wrote an application in visual basic that you can use to enter the PID of any running program and it will make it reappear if it doesnt appear any more.
There is no need for this since anyone can readily get Systernals Process Explorer for free from Systernals Web site
. Right click on the process that you cannot gain access to visually and select "Bring to Front" option.