windows注册表的编辑方法(Windows编程系列第一篇)

本系列想以windows sdk提供的头文件进行分章节记录学习.

本章介绍注册表相关操作winreg.h.将以windows注册表体系化进行介绍。

在windows函数中函数名称A结尾代表是ASCII字符串相关函数,对应字符串变量类型为char*;以W结尾代表是Unicode字符串相关函数,对应字符串变量类型为wchar*。

提醒:备份或恢复系统状态(包括系统文件和注册表配置单元)的应用程序应使用卷影复制服务而不是注册表功能

注册表结构

首先打开注册表,看一下注册表结构:

使用win r键输入regedit打开注册表

windows注册表的编辑方法(Windows编程系列第一篇)(1)

注册表

再打开左列某个节点:

windows注册表的编辑方法(Windows编程系列第一篇)(2)

注册表

可以看到左列树状图是注册表项,名称是注册表值,数据是注册表数据。其中值和数据成对出现,值数据对是键的子项。

注册表限制

对程序来说没有限制就是一场灾难,同样注册表也存在限制。

windows注册表的编辑方法(Windows编程系列第一篇)(3)

注册表限制

注册表虚拟化(注册表重定向)

为了使windows64系统兼容运行win32程序,windows在注册表中单独划分一块区域供32位程序使用,32位程序对注册表的操作默认在这块区域进行。

windows注册表的编辑方法(Windows编程系列第一篇)(4)

注册表虚拟化

注册表虚拟化控制

注册表既然能虚拟化,那必定也能控制。windows操作系统中提供了这样一种控制方式:

windows注册表的编辑方法(Windows编程系列第一篇)(5)

注册表虚拟化控制

预定义键

windows中用HKey代表注册表中的键,在windows中默认定义了一些主要键。

windows注册表的编辑方法(Windows编程系列第一篇)(6)

预定义键

以上是对windows注册表整个环境相关介绍,接下来介绍具体的操作函数。

创建注册表键函数

windows注册表的编辑方法(Windows编程系列第一篇)(7)

windows注册表创建函数

打开注册表键函数

windows注册表的编辑方法(Windows编程系列第一篇)(8)

打开注册表键

设置注册表值和数据

获取注册表键后便可以对注册表值数据进行设置。

windows注册表的编辑方法(Windows编程系列第一篇)(9)

设置注册表键的值和数据

获取值数据对

windows注册表的编辑方法(Windows编程系列第一篇)(10)

获取值数据对

枚举注册表键或者值

windows注册表的编辑方法(Windows编程系列第一篇)(11)

枚举注册表键或者值数据对

删除键或者值数据对

注意删除键如果有子项会删除失败。一种方案是枚举子项删除,一种是使用RegDeleteTree。

windows注册表的编辑方法(Windows编程系列第一篇)(12)

删除键或者值数据对

含有子键的键拷贝和删除

windows注册表的编辑方法(Windows编程系列第一篇)(13)

键树操作

注册表键重命名

windows注册表的编辑方法(Windows编程系列第一篇)(14)

注册表键重命名

查询注册表

windows注册表的编辑方法(Windows编程系列第一篇)(15)

查询注册表

注册表取别名

在windows系统中可以向对文件创建链接一样对注册表键取别名,对别名操作相当于对注册表键操作。

windows注册表的编辑方法(Windows编程系列第一篇)(16)

重定向控制

windows注册表的编辑方法(Windows编程系列第一篇)(17)

重定向控制

键安全属性设置获取

windows注册表的编辑方法(Windows编程系列第一篇)(18)

键安全属性

注册表恢复

windows注册表的编辑方法(Windows编程系列第一篇)(19)

注册表恢复

注册表监控、变更通知

windows注册表的编辑方法(Windows编程系列第一篇)(20)

使用注册表文件替换注册表

windows注册表的编辑方法(Windows编程系列第一篇)(21)

注册表文件替换注册表中的键

将注册表键数据保存为文件

windows注册表的编辑方法(Windows编程系列第一篇)(22)

注册表保存为文件

关闭注册表键

关闭注册表并不会将修改立马保存进系统中,而是会等待部分时间。

windows注册表的编辑方法(Windows编程系列第一篇)(23)

注册表修改立马刷新到系统函数

windows注册表的编辑方法(Windows编程系列第一篇)(24)

注册表缓存控制

windows注册表的编辑方法(Windows编程系列第一篇)(25)

注册表加载卸载

windows注册表的编辑方法(Windows编程系列第一篇)(26)

连接到另外一台机器的注册表

windows注册表的编辑方法(Windows编程系列第一篇)(27)

系统控制相关函数

windows注册表的编辑方法(Windows编程系列第一篇)(28)

用户控制相关函数

这种函数一般都是远程使用。

windows注册表的编辑方法(Windows编程系列第一篇)(29)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页