使用Windows API代码包进行文档预览

时间:2011-03-05 21:05:37

标签: c#

我希望通过Windows API代码包

获取Windows 7中提供的文件预览

http://archive.msdn.microsoft.com/WindowsAPICodePack

获取文件的缩略图很简单,但是也可以通过API代码包找到文件的预览吗?我找到了一些关于创建预览提供程序的文档...

我找到缩略图(文件类型的图像):

ShellFile shellFile = ShellFile.FromFilePath(pathToYourFile);
Bitmap shellThumb = shellFile.Thumbnail.ExtraLargeBitmap;

1 个答案:

答案 0 :(得分:2)

让IPreviewHandler干净利落地包含太多讨厌的细节。令人震惊的是,它实际上在SDK文章中提到了界面:

  

可以内置预览处理程序   托管代码。通常,所有预览   处理程序一起托管在一个   代理进程名为prevhost.exe。   这个过程有一个例子   用于正常运行的预览处理程序   完整性级别,另一个实例   对于低速运行的预览处理程序   诚信水平。如果你想   在托管中实现您的处理程序   代码,你的处理程序不应该运行   在其中任何一个共享   流程。相反,安排你的   处理程序获取新的实例   通过创建新的AppID来创建prevhost.exe   注册表中的条目(指定   prevhost.exe作为DllSurrogate   值)然后将其设置为   注册表值中的AppID值   你的处理程序的类ID。这将   确保一个唯一的prevhost.exe   为您的处理程序创建实例,   而不是使用的常见实例   由其他处理者。

这是shell接口常见的问题,过多的盛况和环境让它们继续下去。接口没有包装在代码包中,我看不出它是如何通过这个必需的注册表whacking干净地包装的。也许你可以从界面名称谷歌的东西。 Codeproject.com通常有一些东西。