我想摆脱一个非常讨厌的windows7行为,我认为除了以编程方式覆盖windows之外别无他法。
由于我很熟悉delphi并且它在系统编程中也可以做很多事情我想考虑使用这种语言,但我们首先解释一下:
在Windows 7文件资源管理器中,有一个预览窗格(通常位于任何资源管理器窗口的右侧),显示当前所选文件的内容(如果支持)(office文件,图片,html和基于文本的文件)。
示例:
但是这个面板令人讨厌的行为是当你选择一个文件夹时,窗格仍然是完全空的:
我希望它显示selectd文件夹的内容(文件和文件夹图标和名称),这样就不需要打开它了。
要做到这一点,我认为我必须处理Windows DLL。我知道我将不得不对此进行更深入的搜索,但我希望有一些有经验的用户告诉我,这是不可能的,或者如果可能的话,从哪里开始调查或如何继续。 欢迎任何其他建议。
如果我这样做,我很乐意通过互联网分享。
答案 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"
您的处理程序应该实现IInitializeWithFile
或IInitializeWithItem
,而不是IInitializeWithStream
,因此它可以接收所选文件夹的路径/ IShellItem
。然后,您可以枚举该文件夹的内容,并根据需要在您已实施的IPreviewHandler
用户界面中显示该内容。