主页 > 编程资料 > C# >
发布时间:2015-09-26 作者:网络 阅读:262次

实现方式:利用Microsoft.win32类提供的注册表类访问系统注册表获取ODBC数据服务列表。

具体实现:

    Microsoft.win32提供了RegistryKey类,用来访问系统的注册表。
    ///定义注册表子Path
    string strRegPath = @"SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources";
    ///创建两个RegistryKey类,一个将指向Root Path,另一个将指向子Path
    RegistryKey regRootKey;
    RegistryKey regSubKey;
    ///定义Root指向注册表HKEY_LOCAL_MACHINE节点
    regRootKey = Registry.LocalMachine;
    ///Registry枚举类提供了以下几种
    /*
    Registry.ClassesRoot-------------->指向注册表HKEY_CLASSES_ROOT节点
    Registry.CurrentConfig-------------->指向注册表HKEY_CURRENT_CONFIG节点
    Registry.CurrentUser-------------->指向注册表HKEY_CURRENT_USER节点
    Registry.DynData-------------->指向注册表HKEY_DYN_DATA节点(动态注册表数据)
    Registry.LocalMachine-------------->指向注册表HKEY_LOCAL_MACHINE节点
    Registry.PerformanceData-------------->指向注册表HKEY_PERFORMANCE_DATA节点
    Registry.Users-------------->指向注册表HKEY_USERS节点
    */
    regSubKey = regRootKey.OpenSubKey(strRegPath);
    string[] strDSNList = regSubKey.GetValueNames();
   
    ///关闭
    regSubKey.Close();
    regRootKey.Close();   

这样就实现了DSN Service List的读取。


关键字词: