正在阅读:运用.NET读写Windows注册编辑表运用.NET读写Windows注册编辑表

2004-02-14 09:34 出处:PConline 作者:冉林仓/ASPCool 责任编辑:huangpeidan
如果你曾经使用过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;   }

关注我们

最新资讯离线随时看 聊天吐槽赢奖品