在 Windows Vista 上,当浏览包含可执行文件的网络文件夹时,Windows 资源管理器似乎会完全加载所有文件才能显示可执行文件图标(资源监视器指示目录加载期间流量负载)
在 XP 中,仅加载文件的一部分。
有没有办法避免这些文件的完全加载?
请注意,禁用我的防病毒软件没有帮助。
更新:这只发生在与 链接的可执行文件中/SWAPRUN:NET
。Microsoft 已确认这是 Vista 中的一个错误,但他们似乎并不急于修复它。
答案1
你确定是 Explorer 的错吗?我猜想是其他一些软件读取了整个文件(例如防病毒软件),因为 Windows Explorer 只会加载 exe 的资源部分。
答案2
您对速度减缓的解释可能不正确。
Microsoft Windows Vista 启用了 TCP/IP 自动调节功能,可不断进行自我调节。它可以提高网络上的文件传输速度,但在某些情况下,它实际上可能会降低所有访问网络的设备的速度。自动调节还会降低网络上其他计算机的网络浏览速度。
要禁用自动调节:
以管理员身份运行命令提示符。输入:
netsh interface tcp set globalautotuninglevel=disabled
并按回车键。您可能还需要运行此命令:
netsh interface tcp set global rss=disabled
答案3
您是否绝对确定该机器没有感染病毒(并且没有试图感染网络文件)?
另外,第二次访问文件夹是否更快?如果不是,图标缓存可能无法正常工作,因此可能是 IconCache.db 的问题,或者缓存限制太小(有关更多信息,请谷歌搜索“最大缓存图标”)
这可能是由挂接到 Windows 资源管理器的错误附加组件引起的,因此您可以尝试 AutoRuns(来自 sysinternals)来查看正在加载的非 Microsoft 附加组件,并可能禁用它们。
另外,您确定只是 exe 文件导致了问题吗?如果文件夹中的任何文件与不再存在的程序相关联,并且 Windows 资源管理器不断尝试打开这个不存在的程序来查找图标,则可能会出现速度问题。(要造成网络流量,大概该程序必须是最初安装在网络上的)。
Nirsoft 的 ShellExView或者如果是这种情况,进程监视器(来自 Sysinternals)也可能会有所帮助。
答案4
有没有办法避免这些文件的完全加载?
是的,您必须更改以下注册表项:
[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"
更改%1
为本地文件。
问候
奥利弗