修改 windows 7 预览窗格以显示文件夹的子目录而不是大空框
Modify windows 7 preview pane to display a folder's subdirectories instead of a big empty frame
我想摆脱一个非常烦人的 windows7 行为,我认为除了以编程方式覆盖 windows 之外别无他法。
因为我对 delphi 很满意,而且它在系统编程中也可以做很多事情,所以我正在考虑使用这种语言,但让我们先解释一下:
在 windows 7 文件资源管理器中有一个预览窗格(通常位于任何资源管理器 window 的右侧)显示当前 selected 文件的内容如果支持(办公文件、图片、html 和基于文本的文件)。
示例:
但是这个面板的一个烦人的行为是当你 select 一个文件夹时,面板仍然完全是空的:
我希望它显示 selectd 文件夹的内容(文件和文件夹图标和名称),这样就无需打开它。
要做到这一点,我认为我必须处理 windows dll。我知道我将不得不对此进行更深入的搜索,但我希望一些有经验的用户告诉我这是否绝对不可能,或者如果可能的话从哪里开始调查或如何进行。
也欢迎任何其他建议。
如果我设法做到了,我很乐意通过互联网分享它。
为注册表中的 HKEY_CLASSES_ROOT\Folder
ProgID 创建自定义 Preview Handler COM object and register it:
HKEY_CLASSES_ROOT\Folder\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f}
(Default) = [REG_SZ] "your CLSID here"
您的处理程序应根据需要实施 IInitializeWithFile
or IInitializeWithItem
, and not IInitializeWithStream
, so it can receive the path/IShellItem
of a selected folder. Then you can enumerate that folder's content and display it in your implemented IPreviewHandler
UI。
我想摆脱一个非常烦人的 windows7 行为,我认为除了以编程方式覆盖 windows 之外别无他法。
因为我对 delphi 很满意,而且它在系统编程中也可以做很多事情,所以我正在考虑使用这种语言,但让我们先解释一下:
在 windows 7 文件资源管理器中有一个预览窗格(通常位于任何资源管理器 window 的右侧)显示当前 selected 文件的内容如果支持(办公文件、图片、html 和基于文本的文件)。
示例:
但是这个面板的一个烦人的行为是当你 select 一个文件夹时,面板仍然完全是空的:
我希望它显示 selectd 文件夹的内容(文件和文件夹图标和名称),这样就无需打开它。
要做到这一点,我认为我必须处理 windows dll。我知道我将不得不对此进行更深入的搜索,但我希望一些有经验的用户告诉我这是否绝对不可能,或者如果可能的话从哪里开始调查或如何进行。 也欢迎任何其他建议。
如果我设法做到了,我很乐意通过互联网分享它。
为注册表中的 HKEY_CLASSES_ROOT\Folder
ProgID 创建自定义 Preview Handler COM object and register it:
HKEY_CLASSES_ROOT\Folder\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f}
(Default) = [REG_SZ] "your CLSID here"
您的处理程序应根据需要实施 IInitializeWithFile
or IInitializeWithItem
, and not IInitializeWithStream
, so it can receive the path/IShellItem
of a selected folder. Then you can enumerate that folder's content and display it in your implemented IPreviewHandler
UI。