运用ASP.NET读写Windows注册编辑表

王朝asp·作者佚名  2008-05-19
宽屏版  字体: |||超大  

如果你曾经使用过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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有