C# Windows文件预览-类似于资源管理器中的预览窗格

C# Windows文件预览-类似于资源管理器中的预览窗格,c#,windows,explorer,preview,C#,Windows,Explorer,Preview,在Windows7(我认为是Vista)中,浏览器有一个预览窗格,可以让您查看某些文件类型(MS Office、图像等)的内容。是否有任何API允许您访问此功能 我一直在使用具有ShellFile.thumboil的,但这似乎只显示浏览器能够查看的文件类型的缩略图图标。例如,对于Word文件,它只显示MS Word图标,浏览器可以在其中实际预览文件的内容。它的工作原理与我想要的图像类型相同,但不适用于其他类型的文件。示例代码(虽然很难阅读…必须突出显示文本)如下:可以找到一个基于IPreview

在Windows7(我认为是Vista)中,浏览器有一个预览窗格,可以让您查看某些文件类型(MS Office、图像等)的内容。是否有任何API允许您访问此功能


我一直在使用具有ShellFile.thumboil的,但这似乎只显示浏览器能够查看的文件类型的缩略图图标。例如,对于Word文件,它只显示MS Word图标,浏览器可以在其中实际预览文件的内容。它的工作原理与我想要的图像类型相同,但不适用于其他类型的文件。

示例代码(虽然很难阅读…必须突出显示文本)如下:

可以找到一个基于IPreviewHandler的.Net商用即用预览控件

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

[HKEY_CLASSES_ROOT\.ext]
"PerceivedType"="text"
对于更复杂的内容,Microsoft提供了Shell接口,您可以将其实现为COM对象以提供自定义预览。还有一个可用的

对象将通过或初始化

一旦您实现了它,您需要针对不同的文件类型进行如下操作:

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {<Class-ID-of-your-COM-object>}
HKEY\U类\U根
xyzfile
贝壳
{8895b1c6-b41f-4c1c-a562-0d564250836f}
(默认值)=[REG_SZ]{}

这是一个仅链接的答案,不鼓励使用。请包含链接资源的相关部分,以使其成为答案。