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

时间:2011-03-04 02:17:58

标签: c# windows explorer preview

在Windows 7(我认为Vista)中,资源管理器有一个预览窗格,可让您查看某些文件类型(MS Office,图像等)的内容。是否有可用的API允许您访问此功能?

我一直在使用带有ShellFile.Thumbnail的WindowsAPICodePack,但这似乎只公开了资源管理器能够查看的文件类型的缩略图图标。例如,对于Word文件,它只显示MS Word图标,其中Explorer可以实际预览文件的内容。它确实像我想要的图像类型一样工作,但不适用于其他类型的文件。

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

示例代码(虽然难以阅读......必须突出显示文字)在这里:Hosting vista/office 2007 previewers in winform application

答案 2 :(得分:0)

可以找到基于IPreviewHandler的.Net商业即用型预览控件here

答案 3 :(得分:0)

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

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

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

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

进行初始化

实施后,您需要register it on your system [MSDN]以获取不同的文件类型,如下所示:

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