If programming is an option, a solution might be to write a program that would run on the first user logon, and which will do the taskbar changes that you want.
For a .Net solution, see the article
Pin and Un-pin items to/from the Windows 7 taskbar
where a .cs file is attached that contains a class that can:
- Figure out if a given executable is pinned to the taskbar
- Un-pin it from the taskbar
- Pin it back to the taskbar
The above article is based on another :
Pin Items to the Start Menu or Windows 7 Taskbar via Script
where a similar approach is described using vbs scripts.
I finally solved the problem by running the following vbs script. It does some modifications to the windows registry. Although it's originally designed for Windows XP, fortunately it also works in Windows 7, at least in my case. My task bar has now come back but I still have no idea what actually causes such problem.
'xp_taskbar_desktop_fixall.vbs - Repairs the Taskbar when minimized programs don't show.
'?Kelly Theriot and Doug Knox - 8/22/2003
Set WSHShell = WScript.CreateObject("WScript.Shell")
Message = "To work correctly, the script will close" & vbCR
Message = Message & "and restart the Windows Explorer shell." & vbCR
Message = Message & "This will not harm your system." & vbCR & vbCR
Message = Message & "Continue?"
X = MsgBox(Message, vbYesNo, "Notice")
If X = 6 Then
On Error Resume Next
WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2\"
WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU\"
WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop\"
WshShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\Explorer Bars\{32683183-48a0-441b-a342-7c2a440a9478}\BarSize"
P1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"
WshShell.RegWrite p1 & "NoBandCustomize", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoMovingBands", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoCloseDragDropBands", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoSetTaskbar", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoToolbarsOnTaskbar", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoSaveSettings",0,"REG_DWORD"
WshShell.RegWrite p1 & "NoToolbarsOnTaskbar", 0, "REG_DWORD"
WshShell.RegWrite p1 & "NoSetTaskbar",0,"REG_DWORD"
WshShell.RegWrite p1 & "NoActiveDesktop",0,"REG_DWORD"
WshShell.RegWrite p1 & "ClassicShell",0,"REG_DWORD"
p1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\LocalUser\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"
WshShell.RegWrite p1 & "NoCloseDragDropBands", 0, "REG_DWORD"
WshShell.RegDelete p1 & "NoMovingBands"
p1 = "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell"
WshShell.RegWrite p1, "explorer.exe", "REG_SZ"
p1 = "HKCU\Software\Microsoft\Internet Explorer\Explorer Bars\{32683183-48a0-441b-a342-7c2a440a9478}\"
WshShell.RegDelete p1 & "BarSize"
WshShell.RegWrite p1, "Media Band", "REG_SZ"
On Error Goto 0
For Each Process in GetObject("winmgmts:"). _
ExecQuery ("select * from Win32_Process where name='explorer.exe'")
Process.terminate(0)
Next
MsgBox "Finished." & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "Done"
Else
MsgBox "No changes were made to your system." & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "User Cancelled"
End If
The script can also be downloaded in this page:
http://www.kellys-korner-xp.com/taskbarplus!.htm
Just click on "Taskbar is Missing".
Good luck.
Best Answer
You need to rebuild the icon cache. To do so, open task manager, terminate the explorer.exe process, run cmd.exe and type:
Finally, run explorer.exe