QQ登录

只需一步,快速开始

372上位机VC MFC导入与导出注册表项

[ 复制链接 ]

372上位机VC MFC导入与导出注册表项导入与导出注册表项

372上位机VC MFC导入与导出注册表项导入与导出注册表项
372上位机VC MFC导入与导出注册表项导入与导出注册表项功能展示
不正确地编辑注册表可能会对系统造成严重损坏,所以在更改注册表之前我们应当对计算机上有价值的数据进行备份,后期出现问题才可导入进行还原,我们当前例程就实现注册表的导入与导出功能,效果如图,再输入要操作的注册表项后,如输入了HKEY_CLASSES_ROOT,再点击导入,或导出按钮,会弹出文件保存或打开对话框,选择目录后点击确认就可快速保存或导入注册表文件

要点提示
注册表的导入与导出功能,我们例程通过自己封装的类CRegisterExport实现。类只有三个对外的成员函数 void ExportRegistry(CString cstrKeyRootName, CString cstrKeyName, CString cstrFileName);
void ShellExportRegister(LPCTSTR lpExportStr,LPCTSTR lpExportFile);
void ShellImportRegister(LPCTSTR lpImportFile);
也就是执行注册表导入与导出功能的三个函数;

实现功能
1.新建基于对话框的应用程序
2.复制例程根目录CRegisterExport类的两文件RegisterExport.cpp, RegisterExport.h到自己工程根目录并载入到工程中,在对话框中包含头文件RegisterExport.h;
3.依照例程界面添加编辑框IDC_EDIT1用于输入注册表项名。再添加按钮<使用写文件的方式导出注册表项(得包含子项) ><使用ShellExecute方式导出注册表项><使用ShellExecute方式导入注册表项>关联按钮的点击函数

#include "RegisterExport.h"
void CGkbc8Dlg::OnButton1()
{
CString strFull;
GetDlgItemText(IDC_EDIT1,strFull);
if(strFull.IsEmpty())
{
AfxMessageBox("请填入导出项!");
return;
}
CFileDialog dlg(FALSE,"reg",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Register File(*.reg)|*.reg||");
if(dlg.DoModal() == IDOK)
{
CRegisterExport re;
CString strRoot;
int nIndex = 0;
CString strPath;

nIndex = strFull.Find("\\");
if(nIndex == -1)
{
strRoot = strFull;
strFull ="";
}
else
{
strRoot = strFull.Left(nIndex);
strFull = strFull.Right(strFull.GetLength()-nIndex-1);
}
strPath = dlg.GetPathName();
re.ExportRegistry(strRoot,strFull,strPath);
}
}
GetDlgItem(IDC_SHOPCENTER)->MoveWindow(40,95,200,40);
}

void CGkbc8Dlg::OnButton2()
{
CString strFull;
GetDlgItem(IDC_EDIT1)->GetWindowText(strFull);
if(strFull.IsEmpty())
{
AfxMessageBox("请填入导出项!");
return;
}
CFileDialog dlg(FALSE,"reg",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Register File(*.reg)|*.reg||");
if(dlg.DoModal() == IDOK)
{
CString strFile = dlg.GetPathName();
CRegisterExport re;
re.ShellExportRegister(strFull,strFile);
}
}

void CGkbc8Dlg::OnButton3()
{
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Register File(*.reg)|*.reg||");
if(dlg.DoModal() == IDOK)
{
CString strFull = dlg.GetPathName();
CRegisterExport re;
re.ShellImportRegister(strFull);
}
}

void CGkbc8Dlg::OnButton3()
{
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Register File(*.reg)|*.reg||");
if(dlg.DoModal() == IDOK)
{
CString strFull = dlg.GetPathName();
CRegisterExport re;
re.ShellImportRegister(strFull);
}
}

我们来演示下功能实现的整个过程

请点击此处下载

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

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

文件名称:372.上位机VC MFC导入与导出注册表项.zip 
文件大小:146.16 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

QQ联系我

微信扫扫联系我

  

  

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

  

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

  

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




回复

使用道具 举报

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