|
|
|
运用.NET读写Windows注册编辑表
作者:佚名 来源:Linux 宝库 点击: 日期:2006-12-22 |
|
如果你曾经使用过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; }
|
|
|
|
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【论坛讨论】 |
相关文章: |
|
|
文章评论:(条) |
|
|
|
|
责任编辑:一分 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。 |
|