一尘不染

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

c#

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

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

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

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

澄清:许多答案似乎都围绕网页缩略图或缩放图像。但这根本不是我想要的。我想要的是询问Windows这些文件类型的缩略图表示:.DOC,.PDF,.3DM,.DWG
…和mabye,还有大约十几种。我不想自己解析,渲染和制作缩略图,因为Windows已经知道如何操作。

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


阅读 828

收藏
2020-05-19

共1个答案

一尘不染

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

码:

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

希望能帮助到你!

2020-05-19