Windows 7 tray icons invisible

Taken from the article How to Reset the Notification Area Icons Cache is the file Reset_Notification_Area_Icons_Cache.bat.

You may download the file, but the contents of the file are also reproduced below :

:: Created by: Shawn Brink
:: http://www.sevenforums.com
:: Tutorial:  http://www.sevenforums.com/tutorials/13102-notification-area-icons-reset.html

@echo off
cls
set regPath=HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify
set regKey1=IconStreams
set regKey2=PastIconsStream
set choice=Bad-Response

echo The Explorer process must be killed to reset the Notification Area Icons Cache. 
echo.
echo Please SAVE ALL OPEN WORK before continuing
echo.
pause

echo.
taskkill /IM explorer.exe /F
echo.
FOR /F "tokens=*" %%a in ('Reg Query "%regpath%" /v %regkey1% ^| find /i "%regkey1%"') do goto iconstreams
echo Registry key "IconStreams" already deleted.
echo.

:verify-PastIconsStream
FOR /F "tokens=*" %%a in ('Reg Query "%regpath%" /v %regkey2% ^| find /i "%regkey2%"') do goto PastIconsStream
echo Registry key "PastIconsStream" already deleted.
echo.
goto confirm-restart

:iconstreams
reg delete "%regpath%" /f /v "%regkey1%"
goto verify-PastIconsStream

:PastIconsStream
reg delete "%regpath%" /f /v "%regkey2%"

:confirm-restart
echo.
echo.
echo Windows must be restarted to finish resetting the Notification Area Icons. 
echo.

:wrong 
set /p choice=Restart now? (Y/N) and press Enter:
If %choice% == y goto Yes
If %choice% == Y goto Yes
If %choice% == n goto No
If %choice% == N goto No
set choice=Bad-Response
goto wrong

:Yes
shutdown /R /f /t 00
exit

:No
echo.
echo Restart aborted. Please remember to restart the computer later.
echo.
echo You can now close this command prompt window.
explorer.exe

Detailed description for running this batch file are included in the article.


The following comment by @arielnmz seemed to solve my problem:

did you try removing suspicious applications from startup, not by an antivirus
or anti-malware, but manually with msconfig.exe?

There wasn't anything out of the ordinary in there, but disabling a bunch of them has solved my problems.