如何在Windows中检索任何给定文件类型的默认图标?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows中检索任何给定文件类型的默认图标?相关的知识,希望对你有一定的参考价值。

如何获取Windows默认使用的指定文件类型的图标?

答案

试试这个

    public static Hashtable GetTypeAndIcon()
    {
        try
        {
            RegistryKey icoRoot = Registry.ClassesRoot;
            string[] keyNames = icoRoot.GetSubKeyNames();
            Hashtable iconsInfo = new Hashtable();

            foreach (string keyName in keyNames)
            {
                if (String.IsNullOrEmpty(keyName)) continue;
                int indexOfPoint = keyName.IndexOf(".");

                if (indexOfPoint != 0) continue;

                RegistryKey icoFileType = icoRoot.OpenSubKey(keyName);
                if (icoFileType == null) continue;

                object defaultValue = icoFileType.GetValue("");
                if (defaultValue == null) continue;

                string defaultIcon = defaultValue.ToString() + "\DefaultIcon";
                RegistryKey icoFileIcon = icoRoot.OpenSubKey(defaultIcon);
                if (icoFileIcon != null)
                {
                    object value = icoFileIcon.GetValue("");
                    if (value != null)
                    {
                        string fileParam = value.ToString().Replace(""", "");
                        iconsInfo.Add(keyName, fileParam);
                    }
                    icoFileIcon.Close();
                }
                icoFileType.Close();
            }
            icoRoot.Close();
            return iconsInfo;
        }
        catch (Exception exc)
        {
            throw exc;
        }
    }
另一答案

文件类型的默认图标,无论您是否碰巧有其中一种类型的文件,都在Window的注册表中定义

HKEY_CLASSES_ROOT type DefaultIcon(默认)

...但是当VirtualBlackFox在他对nice c# code sample的回答中有一个How do I get common file type icons in C#?时,为什么要修补它?

以上是关于如何在Windows中检索任何给定文件类型的默认图标?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java检索mp3文件的缩略图

如何从任何类型的数据库(pdf、xlx、jpg 或 png)中检索文件并使其可在网页上下载?

如何在 Photoshop 填充图层中检索颜色

如何在Windows上编译java程序?

如何使用 Koin 依赖注入 (Kotlin) 检索与给定类型匹配的所有实例

powershell 小型配置文件功能,可轻松检索给定资源类型的API版本列表