本地网络连接——已选“连接后在通知区域显示图标”却不显示

今天课上有一位同事跟我提到他电脑上的“本地网络连接”图标不见了,我很自然的问他有没有在属性页上选中“连接后在通知区域显示图标”。他说他选了,他已经为选了还不出现图标苦恼很久了。根据这位先生的描述,这个问题是在插拔了某人的移动硬盘后出现的。凭我的职业经验,他系统的注册表可能在“跟移动硬盘的亲密接触”后,受到某种莫名的感染。

在Google上一搜,遇到同样问题的人还真不少。好多人说是用了优化大师或雅虎助手后出现的问题,不仅是网络连接,音量控制的图标也不见了。这个症状跟我遇到的情况不完全一致,因为我的音量控制图标好好的。再看网友提供的解决方案,在注册表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run下建个字符串“Systray”,同事的电脑是W2K,所以值是"c:/winnt/system32/Systray.exe"。这个方案看上去好像跟我的问题不很相符,因为我自己的本本上没有这个键图标也是出来的。照着做一遍,重新开机,无效。

接着看搜索结果,又提到一处注册表修改。HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/ShellServiceObjectDelayLoad,这个键下面缺少一个字串“SysTray”,值是{35CEC8A3-2BE6-11D2-8773-92E220524153}。但这个方法也没有用,因为出问题的电脑上这个键值好好的。

接着搜,有人提到服务了。即插即用(Plug&Play)服务没有运行,导致本地连接图标不能显示。远程过程调用 (RPC) 服务没有运行,导致新建连接图标不能显示。如果网络连接服务的登录属性页上的“允许服务与桌面交互”复选框被清除,则也会发生这个问题。唉,可是这些服务我都是自动运行的呀,看来问题还没到点子上。

终于看到更有技术含量的了,没有正确注册DLL,Netcfgx.dll,Netman.dll和Netshell.dll。我在工作中经常遇到这种DLL注册不好带来的问题,高深的COM和DCOM啊,我拿什么解释你。我Regsvr32一个就重启一次,把问题定位在netshell.dll上了,这个文件名字看着就像,果然重启后图标就恢复了。

把netshell.dll文件打开看了一下,里面有好多图标和字符串,还有好多注册表项,看来是个很有用的系统文件,留着日后研究。

最后,还看到有人说把网卡驱动卸了重装,因为问题已解决就没试。心里想了一下原理,觉得效果挺难说的。

参考文件:Some Network and Dial-Up Connections Icons May Be Missing

展开阅读全文

没有更多推荐了,返回首页