Windows文件预览 – 类似于资源pipe理器中的预览窗格

Windows 7中(我认为Vista),资源pipe理器有一个预览窗格,可以让你看到一些文件types(MS Office,图像等)的内容。 有没有可用的API可以让你访问这个function?

我一直在使用WindowsAPICode包 ,它有一个ShellFile.Thumbnail,但是这似乎只暴露了资源pipe理器能够查看的文件types的缩略图图标。 例如,对于Word文件,它只显示MS Word图标,其中资源pipe理器实际上可以预览文件的内容。 它的工作就像我想要的图像types,但不适用于其他types的文件。

Solutions Collecting From Web of "Windows文件预览 – 类似于资源pipe理器中的预览窗格"

IPreviewHandler

示例代码(尽管难以阅读…必须突出显示文本)在这里: 主机Vista / Office 2007中的预览器在WinForm应用程序

基于IPreviewHandler的.Net商用即用型预览控件可以在这里找到。

对于简单的文本预览,您还可以添加一个注册表项

[HKEY_CLASSES_ROOT\.ext] "PerceivedType"="text" 

对于更复杂的东西,Microsoft提供了Shell Interface IPreviewHandler [MSDN] ,您可以将其作为COM对象实现以提供自定义预览。 还有一个C ++示例[MSDN] 。

该对象将通过IInitializeWithFile [MSDN]或IInitializeWithStream [MSDN]

一旦你实现了它,你需要在你的系统[MSDN]上注册它,以获得不同的文件类型,如下所示:

 HKEY_CLASSES_ROOT xyzfile shellex {8895b1c6-b41f-4c1c-a562-0d564250836f} (Default) = [REG_SZ] {<Class-ID-of-your-COM-object>}