您的位置:首页 > 编程语言 > VB

解决Windows XP中任务栏不显示运行程序按钮的故障

2007-01-22 10:02 549 查看
    故障现象:程序在运行,但是任务栏却不显示相应的按钮,导致多个程序同时运行时,无法从任务栏迅速切换,只能用 Alt+TAB 键切换,既慢又不直观,还经常错误切换到其他程序。

   解决过程:一直不太敢用网上所谓修改、强化任务栏的软件,怕有垃圾代码/病毒/后门/木马/恶意代码等留在系统中(这个故障很可能就是安装某个软件引起的),导致旧病不除又添新病(即使除了旧病,也是得不偿失)。今天终于发现一个方法貌似解决这个问题的。而且妙的是它不是一个软件,而是一段VB Script代码,自己可以查看,有知情权。

 代码:
=======================================================================
'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
=======================================================================

仔细看了看,基本上都是注册表的操作,应该没有恶意代码, 复制粘贴后保存后缀名为.vbs的文件,双击运行,任务栏会回到初始状态,右击选择"快速启动栏","语言栏","Windows Media Player",久违的任务栏终于回来了!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  任务 windows xp vb each 语言
相关文章推荐