/// <summary> /// Foreach Enumerator /// </summary> /// <returns></returns> public IEnumerator GetEnumerator() { int enumCount = this.Count; TypeLibRegistryKey[] returnKeys = new TypeLibRegistryKey[enumCount]; for (int i = 0; i < enumCount; i++) { returnKeys[i] = this[i]; } for (int i = 0; i < returnKeys.Length; i++) { yield return(returnKeys[i]); } }
public TypeLibRegistryKey this[string Name] { get { int iCount = Count; for (int i = 1; i <= iCount; i++) { TypeLibRegistryKey entry = this[i - 1]; if (Name.Equals(entry.Name, StringComparison.CurrentCultureIgnoreCase) == true) { return(entry); } } return(null); } }
public static string GetTypeLibDescription(string majorVersion, string minorVersion, string guid) { string description = "<NoDescription>"; string version = string.Format("{0}.{1}", majorVersion, minorVersion); string regKey = string.Format("TypeLib\\{0}", guid); TypeLibRegistryKey key = new TypeLibRegistryKey(regKey); foreach (TypeLibRegistryKey itemKey in key.Keys) { if ((itemKey.Name == version) && (itemKey.Entries.Count > 0)) { description = (string)itemKey.Entries[0].Value; break; } } return(description); }
internal TypeLibRegistryKeys(string Key) { _key = Key; _list = new List <TypeLibRegistryKey>(); RegistryKey rk = Registry.ClassesRoot.OpenSubKey(_key, false); if (null != rk) { string[] Subkeys = rk.GetSubKeyNames(); foreach (string subKey in Subkeys) { TypeLibRegistryKey newKey = new TypeLibRegistryKey(_key + "\\" + subKey); _list.Add(newKey); } rk.Close(); } }