大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

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);

新闻标题:MFC注册表类的使用
新闻来源:http://dzwzjz.com/article/jddohe.html
在线咨询
服务热线
服务热线:028-86922220
TOP