(inSky)

 找回密码
 立即加入

QQ登录

只需一步,快速开始

查看: 1475|回复: 1

修复“任务栏不显示最小化窗口”问题的VBS脚本

[复制链接]
发表于 2007-6-23 20:09:33 | 显示全部楼层 |阅读模式
自从有了2GB的内存 平时想都不敢想的系统美化软件一股脑儿的塞到硬盘,频繁的修改系统资源,经常导致任务栏出错,最为典型的就是不论开多少个窗口,任务栏上都是什么都没有,还好我有秘密武器
代码保存成.vbs文件 双击执行就行了

程序代码
Set WSHShell = WScript.CreateObject("WScript.Shell")
Message = "本脚本用于修复Windows XP中当最小化程序时,无法在任务栏显示图标的问题。"& vbCR & vbCR
Message = Message & "为了正常工作,本脚本将重启 Windows 外壳 explorer.exe。" & 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 "完成!", 4096, "完成"

Else

MsgBox "没有对你的系统进行任何改变。", 4096, "用户取消了"

End If

懂注册表的一看就知道 只不过是初始化一些注册表的键值,然后调用WMI结束explorer.exe进程,由于VBS的原因,结束后的explorer.exe会自动重建,达到了不重启机刷新任务栏的目的
恢复后也可以导出注册表文件,以备不时之需
回复

使用道具 举报

发表于 2007-6-23 22:13:14 | 显示全部楼层
不错
这个毛病俺还没遇到过[s:15]
RP好唉没办法[s:14]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

小黑屋|手机版|Archiver|(inSky)

GMT+8, 2024-5-17 01:07 , Processed in 0.035182 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表