MFC注册表类的使用-创新互联

MFC中的CRegKey类,是注册表操作类,用法如下:

来凤网站建设公司创新互联,来凤网站设计制作,有大型网站制作公司丰富经验。已为来凤上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的来凤做网站的公司定做!

(1)创建键函数:

CRegKey  key;
long ret = key.Create(HKEY_LOCAL_MACHINE, 
	_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Scale3DC"),
	REG_NONE,
	REG_OPTION_NON_VOLATILE,
	KEY_WRITE | KEY_READ | KEY_WOW64_64KEY);
key.Close();
//在WIN10下须管理员权限

(2)打开键并写入值:

int iMaxNumber = 100;
key.Open(HKEY_CURRENT_USER, _T("SOFTWARE\\TheSoft"));
key.SetStringValue(_T("Password"), _T("123"));
key.SetDWORDValue(_T("count"),iMaxNumber);
key.Close();

long ret1 = key.Open(HKEY_LOCAL_MACHINE,
_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Scale3DC"),
KEY_SET_VALUE | KEY_WOW64_64KEY);
if (ret1 == ERROR_SUCCESS)
{
  long ret =key.SetStringValue(_T("DisplayName"), _T("Scale3DC管理系统"));
  key.SetStringValue(_T("UninstallString"), GetApplicationPath() + _T("Uninstall.exe"));
  key.SetStringValue(_T("DisplayIcon"), GetApplicationPath() + _T("Scale3DC.exe"));
  key.SetStringValue(_T("DisplayVersion"), _T("v2018"));
  key.SetStringValue(_T("URLInfoAbout"), _T("http://www.zync.com"));
  key.SetStringValue(_T("Publisher"), _T("3DC科技有限公司"));
}
key.Close();

(3)读取注册表的信息:

DWORD dwNum;
BOOL bOpenReg = key.Open(HKEY_CURRENT_USER, _T("SOFTWARE\\TheSoft"));
//或者key.QueryValue(dwNum,_T("count"));
key.QueryDWORDValue(_T("count"),dwNum);

(4)删除注册的信息:

key.DeleteValue(_T("count"));

用API删除注册表中的键

VOID CScale3DCControl::DeleteMainKey()
{
	HKEY hKey;
	DWORD result;
	result = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
	    _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"),
	    NULL, KEY_SET_VALUE|KEY_WOW64_64KEY, &hKey);//读取注册表串口信息
	if (ERROR_SUCCESS == result)
	{
		long lResult = ::RegDeleteKey(hKey, _T("Scale3DC"));
		if (lResult == ERROR_SUCCESS)
		{
			AfxMessageBox(_T("ok1"));
		}
	}
	else
	{
		::MessageBox(0, _T("DELETE ERROR!"), _T("Error"), 0);
	}
	RegCloseKey(hKey);
}

Win10系统须管理员权限

(5)读注册表

HKEY    hKey;
DWORD   result;
DWORD   dwType;
DWORD   sl = 255;
TCHAR   sz[255]; //存储键值
result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\abc"),
NULL, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &hKey);

if (ERROR_SUCCESS == result)
{
    result = RegQueryValueEx(hKey, _T("DisplayIcon"), 
           NULL, &dwType, (LPBYTE)sz, &sl);
    if (result == ERROR_SUCCESS)
    {
	RegCloseKey(hKey);
	return sz;
    }
}
else
{
	::MessageBox(0, _T("DELETE ERROR!"), _T("Error"), 0);
}
RegCloseKey(hKey);

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:MFC注册表类的使用-创新互联
URL分享:http://csdahua.cn/article/dssigo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流