修改Windows 7预览窗格以显示文件夹的子目录,而不是大的空框架

时间:2016-05-18 08:23:27

标签: delphi windows-7 system windows-explorer preview-pane

我想摆脱一个非常讨厌的windows7行为,我认为除了以编程方式覆盖windows之外别无他法。

由于我很熟悉delphi并且它在系统编程中也可以做很多事情我想考虑使用这种语言,但我们首先解释一下:

在Windows 7文件资源管理器中,有一个预览窗格(通常位于任何资源管理器窗口的右侧),显示当前所选文件的内容(如果支持)(office文件,图片,html和基于文本的文件)。

示例:

Usefull preview pane

但是这个面板令人讨厌的行为是当你选择一个文件夹时,窗格仍然是完全空的:

Empty preview pane

我希望它显示selectd文件夹的内容(文件和文件夹图标和名称),这样就不需要打开它了。

要做到这一点,我认为我必须处理Windows DLL。我知道我将不得不对此进行更深入的搜索,但我希望有一些有经验的用户告诉我,这是不可能的,或者如果可能的话,从哪里开始调查或如何继续。 欢迎任何其他建议。

如果我这样做,我很乐意通过互联网分享。

1 个答案:

答案 0 :(得分:3)

为注册表中的HKEY_CLASSES_ROOT\Folder ProgID创建自定义Preview Handler COM对象和register it

HKEY_CLASSES_ROOT\Folder\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f}
(Default) = [REG_SZ] "your CLSID here"

您的处理程序应该实现IInitializeWithFileIInitializeWithItem,而不是IInitializeWithStream,因此它可以接收所选文件夹的路径/ IShellItem。然后,您可以枚举该文件夹的内容,并根据需要在您已实施的IPreviewHandler用户界面中显示该内容。