QQ登录

只需一步,快速开始

373上位机VC MFC获取注册表全部读写权限

[ 复制链接 ]

373上位机VC MFC获取注册表全部读写权限

373上位机VC MFC获取注册表全部读写权限

获取注册表全部读写权限
功能展示
在对注册表进行读写操作时会出现无权操作的现象,主要是我们编写的程序未获取读写权限,我们当前例程就实现读写权限的获取功能,效果如图。点击创建会在HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies创建设置的键及项。点击<获取权限>可以获取指定键的全部权限

要点提示
在WIN7等系统上对某些注册表键的操作得获得管理员的权限,也就是日常所用的操作:程序上鼠标右键-以管理员身份运行;我们当前例程操作的注册表键是HKEY_CURRENT_USER下的Software\\Microsoft\\Windows\\CurrentVersion\\Policies,所以也得以管理员身份运行,不然出现错误代码5,也就是拒绝访问,管理员的身份也可以通过代码获取

加载例程根目录文件gkbc8_com.manifest,到工程根目录,资源类型名为24,资源ID设置为1;

实现功能
1.新建基于对话框的应用程序
2.添加编辑框IDC_EDIT1, IDC_EDIT2,及按钮<创建写入数据>用于注册权限用,再添加按钮<获取权限>用于获取权限用,关联按钮的点击函数

void CGkbc8Dlg::OnSet()
{
CString sKeyName,sValueName;
GetDlgItemText(IDC_EDIT1,sKeyName);
GetDlgItemText(IDC_EDIT2,sValueName);
if(sValueName.IsEmpty()||sKeyName.IsEmpty())
return;
//<>
CString sDebugText,sSubKey="Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\";
char cData[] = "工控编程吧(gkbc8.com)";
DWORD dwSize = _MAX_PATH;
HKEY key;
int nResult;
nResult = RegCreateKeyEx(HKEY_CURRENT_USER,sSubKey+sKeyName,0,REG_NONE,REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_READ, NULL, &key, NULL);
if(nResult!=ERROR_SUCCESS)
{
sDebugText.Format("RegCreateKeyEx()错误代码:%d",nResult);
MessageBox(sDebugText);
return;
}
nResult = RegSetValueEx(key,sValueName,0,REG_SZ,(const unsigned char *)cData,dwSize);
if(nResult!=ERROR_SUCCESS)
{
sDebugText.Format("RegSetValueEx()错误代码:%d",nResult);
MessageBox(sDebugText);
RegCloseKey(key);
return;
}
RegCloseKey(key);
MessageBox("创建写入数据 成功");
}

void CGkbc8Dlg::OnGetprivilige()
{
CString sKeyName;
GetDlgItemText(IDC_EDIT1,sKeyName);
if(sKeyName.IsEmpty())
return;
CString sSubKey="CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\+sKeyName";//注册表内需存在
SetRegPrivilege(sSubKey);
}
再实现自定义函数BOOL SetRegPrivilege(CString sSAMPath,BOOL bGet =TRUE);
添加头文件
#include <Aclapi.h>
#pragma comment (lib,"Advapi32.lib")

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

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

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

文件名称:373.上位机VC MFC获取注册表全部读写权限.zip 
文件大小:137.06 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

QQ联系我

微信扫扫联系我

  

  

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

  

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

  

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




回复

使用道具 举报

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