您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > 运用.NET读写Windows注册编辑表
全文

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

2001-11-07 10:12作者:冉林仓出处:yesky责任编辑:方舟

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



软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众