實現方式:利用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的讀取。