2

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

由于我对 delphi 很满意,而且它在系统编程中也可以做很多事情,所以我正在考虑使用这种语言,但让我们先解释一下:

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

例子 :

有用的预览窗格

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

空的预览窗格

我希望它显示所选文件夹的内容(文件和文件夹图标和名称),以便无需打开它。

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

如果我能做到这一点,我会很高兴在互联网上分享它。

4

1 回答 1

3

创建一个自定义Preview Handler COM 对象并在注册表中为ProgID注册它:HKEY_CLASSES_ROOT\Folder

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

您的处理程序应该实现IInitializeWithFileor IInitializeWithItem,而不是IInitializeWithStream,因此它可以接收IShellItem所选文件夹的路径/。然后,您可以枚举该文件夹的内容并根据需要将其显示在您实现的IPreviewHandlerUI 中。

于 2016-05-18T18:32:15.607 回答