MFC的注册表操作—CRegKey类的使用

本文介绍了MFC中CRegKey类的使用,详细讲解了如何通过CRegKey进行注册表的打开、查询、修改、删除等操作,包括Open、QueryValue、SetValue、DeleteValue、Create、DeleteSubKey和Close等方法,适用于开发需要操作注册表的应用。
摘要由CSDN通过智能技术生成

本人在开发IE主页修改器时,想通过MFC中的函数操作注册表来实现功能,因此在开发前整理了本篇文章。

1.简介

CRegKey提供了对系统注册表的操作方法,通过CRegKey类,可以方便的打开注册表的某个分支或子键(CRegKey::Open),可以方便的修改一个键的键值(CRegKey::SetValue),也可以查询某个键的键值(CRegKey::QueryValue),操作完成之后,可以关闭子键(CRegKey::Close)。

要想使用CRegKey类,需要包含头文件atlbase.h

2.常用操作方法

1) 打开需要查询或修改的注册表键

LONG Open( HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired = KEY_ALL_ACCESS );

hKeyParent参数指定了待打开的注册表键的句柄,常用的可选值为

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

以上四个值分别代表了注册表中最主要的四个分支;

lpszKeyName参数指定了在hKeyParent下需要打开的项的名字;

samDesired参数指定了打开该项后所拥有的权限,默认为KEY_ALL_ACCESS,表示拥有对该分支的所有操作权,包括读和写等。

 

举例:

   1: CRegKey myKey;
   2: if(myKey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE//Microsoft//Windows") != ERROR_SUCCESS)
   3: {
   
   4:     AfxMessageBox("Error open reg key!!");
   5: }

 

2) 查询注册表项中的某个键的键值

LONG QueryValue( DWORD& dwValue, LPCTSTR lpszValueName );

LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount )

查询键值提供了两种形式,分别用来获取数值类型的值和字符串类型的值。在上面的形式中,第一种用于获取数值类型的值,第二种用于获取字符串类型的值。

lpszValueName参数用来指定键的名称,dwValue和szValue用于保存

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值