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

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

作者:野比 ([email protected]

时间:May, 2012

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



下载 DEMO

下载源码

(Last updated: May 20th, 2012)

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

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

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

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

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

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

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

所以可以用到 Windows 的一个 API

[csharp] view plain copy print ?
  1. [DllImport("Shell32.dll")]
  2. staticexternintSHGetFileInfo(
  3. stringpszPath,
  4. uintdwFileAttributes,
  5. refSHFILEINFOpsfi,
  6. uintcbFileInfo,
  7. uintuFlags
  8. );

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

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

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

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

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

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

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

下面是获得的大小图标。

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

(全文完)

作者:野比 ([email protected]

时间:May, 2012


你可能感兴趣的:(文件)