「玩一玩」获取各文件类型在系统中注册的图标(即和后缀关联的图标)
睡前一玩
-----睡前的分割线-----
老规矩,源码 DEMO 在前
发帖就得有诚意,发资源就不能收分
点我下载 DEMO
点我下载源码(一分不要)
注:程序里用到的 Windows API 是看了网上匿名人士的作品拿来应用的,
向所有无私奉献的人们致敬!
一般涉及到文件列表的程序,为了简单,都是用的普通图标,就像这样
(只是举例子,不针对任何人物、社团或软件)
有点凄凉吧? 其实我们心里最想要的,难道不是这样的吗?
所以可以用到 Windows 的一个 API
C# code
[DllImport("Shell32.dll")]
static extern int SHGetFileInfo(
string pszPath,
uint dwFileAttributes,
ref SHFILEINFO psfi,
uint cbFileInfo,
uint uFlags
);
具体内容还是自己看代码吧,核心代码也就 20 来行,这里给大家一个效果图
点击每个图标,可以把图标复制到剪贴板里面
打完收功。。
------解决方案--------------------很有意思,以前没有想过类似问题
------解决方案--------------------
------解决方案--------------------我感觉你不是在发东西你是在往那个论坛拉人,那个论坛真烦人,网址也常常换(我记得我上学的时候注册过,后来网换了一时没找到,不用了,再后来又发现改了了名字,不过不想用了,现在不注册还不让看)也不让下,真烦人,发了也看不到,只能听你叫叫罢了,
------解决方案--------------------
------解决方案-------------------- 感觉到楼主老强那种,我是从另一篇过来的。
------解决方案--------------------感谢楼主的分享。
------解决方案--------------------太好啦!
------解决方案--------------------
------解决方案--------------------弄得蛮不错的,收藏一下
------解决方案--------------------核心内容就是个API函数SHGetFileInfo的用法,SH开头的API是一类非常高级的Windows函数,但是大家用的一般不多,因为太高级,一般用C++的人还是自己用其它函数比较方便。
但是就这个函数来说,还是比较方便的,不然统计Windows系统的图标还是很麻烦的,各种情况太多。即使是这个函数和你看到的Windows的资源管理器里的图标,还不完全是一回事。
------解决方案--------------------直截了当
------解决方案--------------------我什么时候才能达到楼主的水平啊
------解决方案--------------------楼主真好大大的好啊,可惜不懂C#要有其他版本就好了
------解决方案--------------------好帖。。。
------解决方案--------------------UNIT uFlags 取值273 272中的一个 怎么和MSDN上定义的uFlags值有出入
http://msdn.microsoft.com/en-us/library/bb762179(VS.85).aspx
------解决方案--------------------谢谢楼主分享 很长见识
------解决方案--------------------好玩,也挺实用的
------解决方案--------------------学习了。
------解决方案--------------------學習了。
------解决方案--------------------学习楼主。