Windows资源管理器具有显示文件缩略图的功能。这些缩略图由核心和第三方Shell扩展提供。
我知道如何扩展外壳以向Windows提供缩略图。
我想做的是使用C#通过外壳从系统上的任何文件中检索缩略图。这可能吗?
本质上,我正在编写一个自定义文件浏览器,我想显示缩略图,并且无法解析地球上的每个文件来制作自己的缩略图。
澄清:许多答案似乎都围绕网页缩略图或缩放图像。但这根本不是我想要的。我想要的是询问Windows这些文件类型的缩略图表示:.DOC,.PDF,.3DM,.DWG …和mabye,还有大约十几种。我不想自己解析,渲染和制作缩略图,因为Windows已经知道如何操作。
我作为答案发布的代码实际上是有效的……也许可以对其进行简化和清理。
今天遇到了这个问题-已有几个月的历史了,但是它为我完成了工作(在Win7上,提取MPEG-4文件的缩略图):
码:
ShellFile shellFile = ShellFile.FromFilePath(pathToYourFile); Bitmap shellThumb = shellFile.Thumbnail.ExtraLargeBitmap;
希望能帮助到你!