【发布时间】:2011-04-15 10:24:58
【问题描述】:
有没有办法(通过外壳扩展或注册表设置)告诉 Windows 资源管理器它不应该读取正在显示的文件夹中的文件以提取元数据或创建缩略图?
问题在于,当用户导航到文件夹时,Windows 资源管理器会尝试读取文件夹中的所有文件并从中提取某些元数据。如果介质很慢,这会花费很长时间并导致文件系统上不必要的负载。在缩略图的情况下尤其如此,当读取整个图形文件时。
我正在寻找在代码中执行此操作的方法(限制资源管理器),因此“不要使用缩略图模式”不是可接受的答案:)。
更新:不幸的是,每个用户的设置不起作用,因为我们作为磁盘提供商只能处理我们自己的磁盘(并且用户可能希望对常规磁盘和虚拟磁盘进行单独的设置)。我相信必须有某种方法来“解释”驱动器速度慢的操作系统。
也许我们需要处理一些驱动程序级别的 IRP 来告诉操作系统介质很慢?
【问题讨论】:
-
我记得在 Win 95/98 中看到了一个 reg 设置(所以有一个),但我从未见过 Vista/7 的等价物。
-
@slugster 收集元数据和显示缩略图的功能只出现在 XP 中(如果有记忆的话),因此在 Win95/Win98 中可能没有这样的设置。 IE。也许那里有一些设置,但它与其他一些功能有关。
-
@Eugene,我的记忆力可能很差,很可能是 XP,而不是 95/98,但肯定有。很久以前,我在一篇硬核 hacks 类型的文章中读到过它,我记得当时想“嘿,这很酷”,但我从来没有需要使用它。
-
什么版本的 Windows?
-
这是一种 hack,但您可以在每个文件上设置 FILE_ATTRIBUTE_OFFLINE 标志; Explorer 不会为离线文件加载所有额外的内容。缺点是文件会有一个丑陋的图标覆盖,但我认为没有一种可插入的方式来做你想做的事。还有一个 PathIsSlow 函数;也许 Explorer 以类似的方式尊重这一点,因此可能值得研究它是如何工作的。
标签: explorer windows-explorer windows-shell