windows关于注册表编程reg

windows关于注册表编程reg

ID:6076652

大小:30.71 KB

页数:20页

时间:2018-01-02

windows关于注册表编程reg_第1页
windows关于注册表编程reg_第2页
windows关于注册表编程reg_第3页
windows关于注册表编程reg_第4页
windows关于注册表编程reg_第5页
资源描述:

《windows关于注册表编程reg》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、读写windows注册表Windows注册表是Windows的灵魂,它不仅保存了windows运行时所有配置信息,而且包括所有应用程序的运行环境。下面我们通过一个实例来展示一下如何利用windows提供的api来操作注册表。注册表函数对注册表的操作是通过句柄来完成的,与文件操作一样,在对某个键下的子键或者键值项进行操作之前,需要先将这个键打开,然后使用键句柄来引用这个键,在操作完毕以后再将键句柄关闭。注册表的根键不需要打开,它们的句柄是固定不变的,要使用根键的时候只要把这些句柄直接拿来用就是了,在WinReg.h已经定义了这些句柄值,下面是常用的:#defineHKEY_CLASSES_R

2、OOT          ((HKEY)(ULONG_PTR)((LONG)0x80000000))#defineHKEY_CURRENT_USER          ((HKEY)(ULONG_PTR)((LONG)0x80000001))#defineHKEY_LOCAL_MACHINE         ((HKEY)(ULONG_PTR)((LONG)0x80000002))#defineHKEY_USERS                 ((HKEY)(ULONG_PTR)((LONG)0x80000003))#defineHKEY_CURRENT_CONFIG      ((H

3、KEY)(ULONG_PTR)((LONG)0x80000005))在程序中可以随时将这些助记符当做句柄来引用对应的根键。在程序结束的时候,不需要关闭这些根键句柄。打开子键使用RegOpenKeyEx函数,在Win16中还存在一个RegOpenKey函数,虽然在Win32中这个函数仍然存在,但这仅是为了兼容的目的而设置的。API手册中推荐使用RegOpenKeyEx函数:LONGRegOpenKeyEx(HKEYhKey,              LPCWSTRlpSubKey,              DWORDulOptions,              REGSAMsamDes

4、ired,              PHKEYphkResult);函数的hKey参数指定父键句柄,lpSubKey指向一个字符串,用来表示要打开的子键名称,在系统中一个子键的全称是以“根键第1层子键第2层子键第n层子键”类型的字符串表示的,中间用“”隔开,字符串的最后以0字符结束,这和目录名的表示方法是很像的。既然子键的全称是这样表示的,那么要打开一个子键的时候,下面的两种表示方法有什么不同呢?(1)父键=HKEY_LOCAL_MACHINE,子键=SoftwareRegTestMySubkey(2)父键=HKEY_LOCAL_MACHINESoftware,子键=Reg

5、TestMySubkey答案是:这两种表示方法是完全相同的。在使用RegOpenKeyEx函数打开子键的时候,既可以将hKey参数设置为HKEY_LOCAL_MACHINE根键的句柄,并将lpSubKey参数指向“SoftwareRegTestMySubkey”字符串;也可以将hKey参数设置为“HKEY_LOCAL_MACHINESoftware”的句柄,将lpSubKey参数指向“RegTestMySubkey”字符串,得到的结果是一样的。但是,使用第一种方法时,hKey参数可以直接使用助记符HKEY_LOCAL_MACHINE来表示,因为根键的句柄是固定的,不需要打开;而使

6、用第二种方法时,还需要先打开“HKEY_LOCAL_MACHINESoftware”键来获取它的句柄,所以具体使用哪种方法还要根据具体情况灵活选用。函数的其他几个参数的含义如下。●  ulOptions参数——系统保留参数,必须指定为0。●  samDesired参数——子键的打开方式,根据使用子键的方式,可以设置为下列取值的组合,只有指定了打开的方式,才能在打开子键后进行相应的操作:■  KEY_ALL_ACCESS——允许所有的存取。■  KEY_CREATE_LINK——允许建立符号列表。■  KEY_CREATE_SUB_KEY——允许建立下一层子键。■  KEY_ENUMERA

7、TE_SUB_KEYS——允许枚举下一层子键。■  KEY_EXECUTE——允许读操作。■  KEY_QUERY_VALUE——允许查询键值数据。■  KEY_READ—KEY_QUERY_VALUE,KEY_ENUMERATE_SUB_KEYS和KEY_NOTIFY的组合。■  KEY_SET_VALUE——允许修改或创建键值数据。■  KEY_WRITE——KEY_SET_VALUE和KEY_CREATE_SUB_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。