QQ登录

只需一步,快速开始

370上位机VC MFC创建与删除子键

[ 复制链接 ]

370上位机VC MFC创建与删除子键

370上位机VC MFC创建与删除子键

创建与删除子键
功能展示
如同对文件夹的操作一样,注册表也有创建与删除子键的操作,这也是注册表编程基础且常用的功能,我们当前实现注册表子键的创建及删除,效果如图。点击<创建子键>例程就会在根键HKEY_CURRENT_USER下指定的子键内创建一个新的子键,点击删除按钮会删除这了新建的子键

要点提示
创建子键跟打开子键差不多,可以用RegCreateKeyEx函数来实现,
其原型如下:
RegCreateKeyEx(
hkey,//父键句柄
lpSubKey,//子键句柄
Reserved,//系统保留,指定为0
lpClass,//定义子键类名,通常设为NULL
dwOptions,//创建子键时的选项
samDesired,//创建后操作权限
lpSecurityAttributes,//指向SECURITY_ATTRIBUTES结构,指定键句柄的继//承性
phkResult,//返回创建句柄
lpdwDisposition//通常设为NULL
);
创建子键也可以用16位下的API函数RegCreateKey来实现。
删除一个键可以用RegDeleteKey()实现,它有两个参数原型如下:
RegDeleteKey(
hkey, //主键句柄
lpSubKey, //子键名称字符串
);

需要注意的是,?在创建子键时可以创建多级子键,比如:
RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\MyKey1\MyKey2",&KEY);
如果MyKey1不存在的话,那么它将先创建MyKey1,再创建MyKey2,这一点与文件系统中创建目录是不同的。但是删除的时候却不能删除多级子键。比如想删除MyKey1,那么必须先删除MyKey2才可以。不过一个子键下面的多个键值可以一次删除。

另外在WIN7系统上对注册表进行删除创建操作时,有时得注意权限问题;

实现功能
1.新建基于对话框的应用程序
2.添加一编辑框IDC_EDIT1用于要创建子键位置的输入,添加<创建子键><删除子键>关联点击函数,用于创建与删除输入的子键;
void CGkbc8Dlg::OnNew()
{
CString sSubKey;
GetDlgItemText(IDC_EDIT1,sSubKey);
if(sSubKey.IsEmpty()) return;
HKEY KEY;
if (ERROR_SUCCESS!=RegCreateKey(HKEY_CURRENT_USER,sSubKey,&KEY))
{
MessageBox("创建失败!");
}
else
{
MessageBox("创建成功!");
}
}
void CGkbc8Dlg::OnDelete()
{
CString sSubKey;
GetDlgItemText(IDC_EDIT1,sSubKey);
if(sSubKey.IsEmpty())
return;
int nResult=RegDeleteKey(HKEY_CURRENT_USER,sSubKey);
if(ERROR_SUCCESS==nResult)
AfxMessageBox("删除成功!");
else
AfxMessageBox("删除失败!");
}
3.最后为了输入的方便,我们可以在程序初始化时对编辑框进行简单的填充
SetDlgItemText(IDC_EDIT1,"Software\\Microsoft\\Windows\\CurrentVersion\\MyKey1");

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:370.上位机VC MFC创建与删除子键.zip 
文件大小:135.7 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索