现在的位置: 首页 > 综合 > 正文

C#中根据注册表查找字体与字体文件路径对应关系

2013年12月03日 ⁄ 综合 ⁄ 共 595字 ⁄ 字号 评论关闭
private SortedDictionary<string, string> ReadFontInformation()
        {
            var dictionary = new SortedDictionary<string, string>();

            RegistryKey mykey = Registry.LocalMachine;

            // 打开注册表
            RegistryKey mykeySub = mykey.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts", true);

            //获取字体名
            string[] mynames = mykeySub.GetValueNames();

            foreach (string name in mynames)
            {
                //获取字体的文件名
                string myvalue = mykeySub.GetValue(name).ToString();

                if (myvalue.Substring(myvalue.Length - 4).ToUpper() == ".TTF" && myvalue.Substring(1, 2).ToUpper() != @":\")
                {
                    string val = name.Substring(0, name.Length - 11);
                    dictionary[val] = myvalue;
                }
            }

            mykeySub.Close();

            return dictionary;
        }

抱歉!评论已关闭.