白天有雨

此处应该有掌声

导航

C#中如何获取注册表信息

需求:WinForm中Login模块呈现时,需要提供ODBC服务列表供User选择

实现方式:利用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的读取。

posted on 2005-11-23 14:46  卓如  阅读(962)  评论(0编辑  收藏  举报