从文件或文件夹中提取图标

从文件或文件夹中提取图标

Windows Forms中有Icon.ExtractAssociatedIcon(MSDN:http://msdn.microsoft.com/en-us/library/system.drawing.icon.extractassociatedicon.aspx),但其缺点是无法从提取文件夹(包括磁盘根目录)的图标,并且在WPF程序中使用需要额外引用System.Drawing命名空间DLL。

因此使用SHGetFileInfo本地Windows API(MSDN:http://msdn.microsoft.com/en-us/library/bb762179.aspx),并将非托管图标资源转换成WPF的BitmapSource。

感谢互联网,就直接用这个链接所提供的代码来做SHGetFileInfo的执行:(http://stackoverflow.com/questions/6008600/get-program-icons),我把它包在一个叫IconExtractor的类中。

posted @ 2013-11-20 23:27  墨梅  阅读(394)  评论(0编辑  收藏  举报