运用.NET读写Windows注册编辑表
作者: 冉林倉?? www.ASPCool.com 時間:2001-11-9?
?
?
???? 如果你曾經使用過RegOpenKeyEx、RegCreateKeyEx、RegCloseKey等Win32 API函數讀寫過注冊編輯表,你肯定非常熟悉這些復雜的Registry函數。相反,在.NET框架中,Registry和RegistryKey類提供了對Windows注冊編輯表的控制,通過這些類你可非常容易地對注冊編輯表進行讀寫。
??
? 這些類被定義在Microsoft.Win32命名空間和mscorlib.dll裝配中,使用這些類之前,你必須使用using聲明這些命名空間。
??
? #using
? using namespace Microsoft::win32;
??
? Registry類只有七個字段成員,使得你能夠存取注冊編輯表中七個特定的鍵,這同你在注冊編輯表中打開一個鍵非常類似,這些所有的成員均返回一個指向注冊鍵的指針。
??
? ClassesRoot 對應于HKEY_CLASSES_ROOT
? CurrentConfig 對應于HKEY_CURRENT_CONFIG
? CurrentUser 對應于HKEY_CURRENT_USER
? DynData 對應于HKEY_DYN_DATA
? LocalMachine 對應于HKEY_LOCAL_MACHINE
? PerformanceData 對應于HKEY_PERFORMANCE_DATA
? Users 對應于HKEY_USERS
??
? 比如你想讀寫HKEY_LOCAL_MACHINE的數據,你可以先獲得一個指向該鍵的指針。
??
? RegistryKey* pRegKey = Registry::LocalMachine;
??
? 接著調用RegistryKey的OpenSubKey成員函數,然后再調用GetValue即可獲得一個特定的字符串。
??
? pRegKey->OpenSubKey(L"SOFTWARE//Kruse Inc//Version");
? Object *pValue = pRegKey->GetValue(L"kWise");
??
? 如果你想設置一個鍵的值,則需要調用它的SetValue函數。
??
? pRegKey->SetValue(L"kWise", "some Value Here");
??
? 刪除一個值可以使用:
??
? pRegKey->DeleteValue(L"kWise");
??
? 其它常用的成員函數還有:
??
? DeleteSubKey 刪除一個子鍵
? CreateSubKey 如果鍵已經存在就打開該鍵,否則就創建新鍵
? DeleteSubKeyTree 刪除子鍵及其節點
??
? 下面是程序代碼例子(Microsoft Visual c++.net beta2調試通過):
??
? #using
? using namespace System;
? using namespace Microsoft::Win32;
? // 這是應用程序的入口點
? int main(void)
? {
? RegistryKey * pRegKey = Registry::LocalMachine;
? pRegKey = pRegKey->OpenSubKey(L"HARDWARE//DESCRIPTION
? //System//CentralProcessor//0");
? Object *pValue = pRegKey->GetValue(L"VendorIdentifier");
? Console::WriteLine(L"本機的CPU為: {0}.", pValue);
? return 0;
? }
總結
以上是生活随笔為你收集整理的运用.NET读写Windows注册编辑表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用asp.net实现的把本文推荐给好友功
- 下一篇: 关于ASP.Net中的时间处理