注册表理解及c++操作注册表例子(未完待续)

 

C++注册表操作

1、注册表组成的理解

xp系统上文件管理类似。

(1) 根键:共5个。

HKEY_CLASSES_ROOTHKEY_CURRENT_USER

HKEY_LOCAL_MACHINEHKEY_USERSHKEY_CURRENT_CONFIG

相当于有五个盘。

(2) 子健:可以有多个键值项及多个子健。

如:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

下面就有AGPArbiters等子健。还有CurrentUserSystemBootDevice等键值项。

子健相当于一个文件夹,其下可以有多个文件夹和文件。

(3) 键值项:由3部分组成。名称、类型、数据值。

键值项相当于一个一个的文件。

 

2打开/关闭注册表:

RegOpenKeyEx(

    hKey,  //父键句柄

    lpSubKey,  //子健句柄

dwOption,  //系统保留,指定为0

samDesired,  //打开权限

phkResult,   //返回打开句柄

)

 

//打开键

HKEY key;  //返回值存入key

LPCTSTR data = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,data,0,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS)

{ ; }

 

//关闭键

RegCloseKey(key);

 

3、查看键值基本信息及其子健基本信息(相当于打开一个目录)

RegQueryInfoKey

获取某个键的子健数目、子健中最长名称长度、子键中最长字符串长度、

键值数量、键值中最长名称长度、键值中最长字符串长度。

 

4、遍历某键的子健信息

RegEnumKeyEx

 

5、遍历某键的键值信息

RegEnumValue

 

查询某指定键值信息:RegQueryValueEx()

设置某指定键值信息:RegSetValueEx()

 

(未完待续)

posted on 2011-07-12 10:37  windfree  阅读(705)  评论(0编辑  收藏  举报