Monday, November 27, 2006

系统托盘图标消失的解决方法

前两天遇到了奇怪的事情,开机后系统托盘的图标只能显示少数几个,比如MSN、ZA防火墙以及网络连接的图标。其他的一些图标比如Mcafee、Google Talk和声音图标等都无法显示出来,而在任务管理器里可以看到上述程序的进程又是正常启动的。

在网上搜索以及论坛里发帖询问,有论坛上的朋友提供了修复任务栏图标的小工具、有朋友提供了修改注册表修复任务栏错误的方法,但是都没能解决问题。后来一朋友告诉我,开机后注销一次再进入系统就正常了。确实,这样做能够解决这个问题,不过这样好像太麻烦了些——每次开机后都要注销一次再进入系统,最后也放弃。

今天中午开机时,系统托盘莫名其妙的又能正常显示了呢,本来还以为问题就此结束。没想到晚上开机却再次发生这个问题,真是郁闷啊。没办法,只好再次跑到论坛寻求帮助,发现又有人回帖,说是只要停止SSDP Discovery Service服务即可。马上禁止该服务,重启机器,一切OK。搞了这么久,原来是这个服务造成的。感谢论坛上那位朋友的提示,也希望能给那些遇到同样问题的朋友一些帮助,呵呵……

附论坛上一朋友提供的解决方法(虽然没能解决我的问题,或许对其他人有用。)。


在 Windows XP 系统中,某些情况下可能会出现任务栏工作不正常的情况,比如:任务栏不显示正在运行的程序的图标,或者在任务栏上总是出现重复的图标。要解决这类问题,可以尝试如下方法(手动修复):
按下 Ctrl+Alt+Del 键,打开任务管理器->“进程”选项卡->找到并关闭所有的 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
然后关闭注册表编辑器,在任务管理器的菜单上选“关机”->重新启动。

3 comments:

hasumiryo said...

SSDP Discovery Service服务
这个东西?寒,不至于会造成如此的问题吧?

SSDP Discovery Service 将简单服务发现协议 (SSDP) 作为 Windows 服务实现。 SSDP Discovery Service 对设备存在公告的回执进行管理,更新它的缓存并将这些通知一起传递给搜索请求尚未完成的客户端。SSDP Discovery Service 还接受来自客户端的事件回调的注册,将它们转换成订阅请求,并监视事件通知,然后传递给已注册的回调。此系统服务还向托管设备定期提供公告。
目前,SSDP event notification 服务使用 TCP 端口 5000。在 Windows XP Service Pack 2 中,它依赖于 TCP 端口 2869。

是不是你的设备,比如路由什么支持upnp这类的造成无法正确的匹配啊,比如你上网用内置的拨号,如果没开启upnp的话,驴子啊,bt就无法转发正确的端口,无法映射,就等于是内网,效率也就低很多了,驴子就获得低ID,不过可以手工做映射。
这个东西大概就是做这个用处的吧。

Daniel said...

不管这个服务做什么用,反正我Disable以后就正常了,而且也没有影响BT或者eMule的使用。

Anonymous said...

upnp和端口转发二者只要有其一就可以获得高ID upnp相当于自动端口映射。