예제 #1
0
        public override IEnumerable <string> GetProviders()
        {
            List <string> provs = new List <string>();
            RegistryKey   key   = Registry.ClassesRoot.OpenSubKey("CLSID");

            foreach (string sub in key.GetSubKeyNames())
            {
                RegistryKey subkey = key.OpenSubKey(sub);
                string      prov   = subkey.GetKeyValue("OLE DB Provider");
                if (prov != null)
                {
                    string proid = subkey.GetKeyValue("VersionIndependentProgID");
                    provs.Add(proid ?? prov);
                    subkey.Close();
                }
            }
            key.Close();
            return(provs);
        }