A very useful feature in Windows is the ability to automatically hide system tray icons when they are not in use. The problem is that over time, Explorer caches a list of every single icon that it's ever seen, and your list might grow to hundreds of items that Explorer knows about. The other issue is that Explorer keeps these items in memory somewhere, so it's also causing bloat, but we can completely reset this list with a little tricky registry editing and recycling Explorer. Note that this will remove any settings you had set for the icons. To get to the dialog we are talking about, right-click on the Taskbar and choose Properties, then choose the Notification Area tab, and click the Customize button. Just look at all the items in the list... I don't even have some of those applications installed anymore. Open up regedit.exe through the start menu search box, and then browse down to this registry key:

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify

Now you will see two entries in the list: IconStreams and PastIconsStream. Select both of them and delete them. (You may want to make a backup with the export function before you do this)

image

  Now we'll need to recycle Explorer.exe by opening up task manager (You can use Ctrl+Shift+Esc), selecting explorer.exe in the list and choosing End Process.

image

Now go to the File menu, choose New Task and type in explorer into the open box. Hit enter, and explorer should restart itself.

image

Now your Customize Notification Icons dialog should show you a very clean list of items, but note that any settings you had will be reset to default.  

image

Note that some icons might disappear entirely until you reboot your computer. Also, if the Volume/Power/Network icons aren't able to be selected in the taskbar properties dialog, you should be able to close it and re-open it and they will work again, but you might have to select them again.