There are some windows programs that create an icon in the taskbar notification area. Even after these processes are killed, their taskbar icon remains there, until you hover your mouse over it, then it disappears. Is there another way to make them disappear without having to hover the mouse over them?

  • 1
    I often find this annoying also... – jer.salamon Aug 20 '10 at 17:41
  • 2
    Searching for refresh notification area yields solutions that simulate mouse movements over the notification area: one, two, and this similar Stack Overflow question: Send a signal to refresh systray icons? There may be a better solution that hasn't yet been found, but it looks like others who looked were satisfied with simulated mouse movements. – Bavi_H Aug 21 '10 at 17:57

Unfortunately the answer is no - And this is also the same on Windows Vista and Windows 7.

The reason for this is that they are displayed by the Explorer process and unless the application safely quits, it sends no notification to Explorer about disposing the icon.

Short of closing and reopening explorer itself, I am not sure of anyway to accomplish this. I am guessing that it would technically be possible as I remember using a program called Dohide years ago when I was at school that hides running processes. But this was simply hiding, it did not detect and close running ones...

... Anyway, I have never come across any application that does it. Quite frankly, if an application does crash, the manufacturer / developer should really go about fixing it, and running your mouse over the icon does fix the problem, so I am guessing no one has thought that it would be worth creating an application or way round this.


Here is a hack that you probably won't like :D

Wipe the system tray with your mouse..

Add-Type -AssemblyName System.Windows.Forms $screen = [System.Windows.Forms.SystemInformation]::VirtualScreen $trayheight = $($screen.Height) -50 # maybe alter the height to suit your resolution $start = ($($screen.Width) / 5)*3 $start..$($screen.Width) | %{ [Windows.Forms.Cursor]::Position = "$_,$trayheight" }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.