Windows任务栏出现多个相同栏的解决方法
原文出处: http://www.javatang.com/archives/2007/05/30/1755165.html
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
今天朋友的电脑(系统是Windows XP)出现一个非常奇怪的现象:打开应用程序的时候在任务栏中出现两个相同的图标列表,而且拖动也删除不掉。比如打开“我的电脑”之后会发现在任务栏上“我的电脑”的图标左边右边各出现一个。后来在网上找了一些资料,终于找到了解决的方法。
打开“Windows任务管理器”(同时按下按下 Ctrl+Alt+Del 键或Ctrl+Shift+Esc 键),选择“进程”标签关闭所有的 explorer.exe 和 iexplore.exe 进程。这个时候电脑中只显示任务管理器程序了。
接下来切换到“应用程序”标签,点击下面的“新任务”按钮,在打开文本框中输入“regedit”打开注册表。找到并删除以下三个项目(包含其下的所有键):
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\StuckRects2
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\Streams
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\StreamsMRU
然后关闭注册表编辑器,单击任务管理器上的“关机”-“重新启动”菜单重启电脑之后就可以了。
另外在Windows XP新闻组上写了一个vbs脚本文件,可以直接处理上面的操作,内容如下:
- 'xp_taskbar_desktop_fixall.vbs - Repairs the Taskbar when minimized programs don't show.
- '?Kelly Theriot and Doug Knox - 8/22/2003
- '翻译:Smallfrogs。翻译内容:将英文提示改为简体中文
- '来源:Microsoft Windows XP NewsGroup
- Set WSHShell = WScript.CreateObject("WScript.Shell")
- Message = "本脚本用于修复Windows XP中当最小化程序时,无法在任务栏显示图标的问题。"& vbCR & vbCR
- Message = Message & "为了正常工作,本脚本将关闭和重启 Windows Explorer 外壳,这个操作不会损坏你的系统。" & vbCR & vbCR
- Message = Message & "请关闭所有杀毒软件的实时监控!并保存所有打开的文件。"& vbCR & vbCR
- Message = Message & "是否继续?"
- X = MsgBox(Message, vbYesNo+vbExclamation, "注意")
- 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\StreamsMRU\"
- 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 "完成!" & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "完成"
- Else
- MsgBox "没有对你的系统进行任何改变。" & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "用户取消了"
- End If
最后需要说明的是:上述的方法不仅解决开始所描述的问题,而且还可以解决各种任务栏工作不正常的情况,比如:任务栏不显示正在运行的程序的图标,或者在任务栏上总是出现重复的图标等等。
参考资料:
http://gaozhongliang328.blog.163.com/blog/static/9853949200722910502867

