获取各文件类型在系统中注册的图标

获取各文件类型在系统中注册的图标_第1张图片

作者:野比 ([email protected]

时间:May, 2012

封面图片为野比原创,请勿未经允许私自引用



下载 DEMO

下载源码

(Last updated: May 20th, 2012) 

 

注:程序里用到的 Windows API 是看了网上匿名人士的作品拿来应用的,

向所有无私奉献的人们致敬!

一般涉及到文件列表的程序,为了简单,都是用的普通图标,就像这样

(只是举例子,不针对任何人物、社团或软件)

 

获取各文件类型在系统中注册的图标_第2张图片

 

有点凄凉吧? 其实我们心里最想要的,难道不是这样的吗?

 

获取各文件类型在系统中注册的图标_第3张图片

 

所以可以用到 Windows 的一个 API

[csharp]  view plain copy print ?
  1. [DllImport("Shell32.dll")]  
  2.  static extern int SHGetFileInfo(  
  3.    string pszPath,  
  4.    uint dwFileAttributes,  
  5.    ref   SHFILEINFO psfi,  
  6.    uint cbFileInfo,  
  7.    uint uFlags  
  8.  );  

具体内容还是自己看代码吧,核心代码也就 20 来行,这里给大家一个效果图

 

获取各文件类型在系统中注册的图标_第4张图片

 

点击每个图标,可以把图标复制到剪贴板里面。

 

获取其他程序exe、dll的图标

获取其他程序图标非常简单。这里以经典游戏「特训99」(国内称为「是男人挺过20秒」)为例。

获取各文件类型在系统中注册的图标_第5张图片

1.点击「Browse」,选择「是男人就撑过20秒.exe」,然后和获取普通文件图标一样点「Get Icon」就可以了。勾选「Small」,可以获得其16x16的小图标。

下面是获得的大小图标。

获取各文件类型在系统中注册的图标_第6张图片

(全文完)

作者:野比 ([email protected]

时间:May, 2012


你可能感兴趣的:(获取各文件类型在系统中注册的图标)