在做文件管理器的过程中,有一个非常重要的功能实现,就是对不同的文件类型获取文件的描述信息,以及对文件图标的获取
实现这个功能需要调用Windows API,以及对注册表的操作(代码是看了一些网上写的后根据自己的理解写了一个比较简洁易懂的代码)
下面看代码:
//根据扩展名获取图标
public int fileExtIcon(string typeExt, FileInfo f)
{
if (!extIcon.ContainsKey(typeExt) && typeExt != ".exe")
{
RegistryKey regRead = Registry.ClassesRoot.OpenSubKey(typeExt);
if (regRead == null) { return 0; }
string subKey = regRead.GetValue("").ToString();
RegistryKey regRead1 = Registry.ClassesRoot.OpenSubKey(subKey);
if (regRead1 == null) { return 0; }
RegistryKey subKey1 = regRead1.OpenSubKey("DefaultIcon");
string defaultIcon = subKey1.GetValue("").ToString();
string[] defIco