C#通过Windows API从文件获取缩略图

Windows资源管理器具有显示文件缩略图的功能。这些缩略图由核心和第三方Shell扩展提供。

我知道如何扩展外壳以向Windows提供缩略图。

我想做的是使用C#通过外壳从系统上的任何文件中检索缩略图。这可能吗?

本质上,我正在编写一个自定义文件浏览器,我想显示缩略图,并且无法解析地球上的每个文件来制作自己的缩略图。

澄清:许多答案似乎都围绕网页缩略图或缩放图像。但这根本不是我想要的。我想要的是询问Windows这些文件类型的缩略图表示:.DOC,.PDF,.3DM,.DWG

…和mabye,还有大约十几种。我不想自己解析,渲染和制作缩略图,因为Windows已经知道如何操作。

我作为答案发布的代码实际上是有效的……也许可以对其进行简化和清理。

回答:

今天遇到了这个问题-已有几个月的历史了,但是它为我完成了工作(在Win7上,提取MPEG-4文件的缩略图):

  • 来源:https : //github.com/dbarros/WindowsAPICodePack
  • Nuget:https ://www.nuget.org/packages/WindowsAPICodePack-Shell

码:

ShellFile shellFile = ShellFile.FromFilePath(pathToYourFile);

Bitmap shellThumb = shellFile.Thumbnail.ExtraLargeBitmap;

希望能帮助到你!

以上是 C#通过Windows API从文件获取缩略图 的全部内容, 来源链接: utcz.com/qa/427649.html

回到顶部