将Windows外壳扩展限制为文件夹/驱动器

时间:2009-05-10 11:14:01

标签: windows windows-shell shell-extensions

我正在开发一个shell扩展,它应该显示存储在虚拟驱动器上的文件(大多数是.jpgs)的扩展属性(将其视为外部硬盘)。

是否可以注册shell扩展,只能为特定文件夹/驱动器的文件(在我的情况下是外部硬盘驱动器)启动,并将其他文件夹中的jpgs处理留给Windows默认的shell扩展?

此致

塞巴斯蒂安

2 个答案:

答案 0 :(得分:1)

本文列出了可以注册shell扩展的方法:http://msdn.microsoft.com/en-us/library/cc144096(VS.85).aspx

您应该能够在外部硬盘上创建一个系统文件夹,其中包含指向您的扩展程序的desktop.ini文件。

或者,在扩展程序本身内,您可以检查路径,如果它不在您指定的位置,则不执行额外的逻辑。

答案 1 :(得分:0)

据我所知,注册表中的shell扩展注册,没有“将其限制到某个文件夹”这样的事情。您的扩展程序必须在全局注册,并且在不合适时不会显示其他上下文菜单项的方式实现。

在注册表中,shell扩展绑定到CLASSES_ROOT键中的文件类型。整个过程旨在以文件为中心。所以文件类型分辨率是你能得到的最好的。看看它,其他一切(如给定文件的路径/驱动器/驱动器类型)将太易于使基础上的扩展注册成为一个明智的事情。