C++注册表的访问

void CDemoDlg::OnBnClickedButtonCpu()
{
	// TODO: 在此添加控件通知处理程序代码
	long lRet;
	HKEY hKey;
	TCHAR tchData[64];
	DWORD dwSize;

	lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
		_T("Hardware\\Description\\System\\CentralProcessor\\0"),
		0,
		KEY_QUERY_VALUE,
		&hKey);
	dwSize = sizeof(tchData);
	if(lRet == ERROR_SUCCESS)
	{
		lRet = RegQueryValueEx(hKey,
			_T("ProcessorNameString"),
			NULL,
			NULL,
			(LPBYTE)tchData,
			&dwSize);
		if(lRet == ERROR_SUCCESS)
		{
			SetDlgItemText(IDC_STATIC_CPU,tchData);
		}
		else
		{
			AfxMessageBox(_T("RegQueryValueEx failed."));
		}
	}
	else
	{
		AfxMessageBox(_T("RegOpenKeyEx failed."));
	}
	RegCloseKey(hKey);
}


void CDemoDlg::OnBnClickedButtonWrite()
{
	// TODO: 在此添加控件通知处理程序代码
	HKEY hKey;
	RegCreateKey(HKEY_LOCAL_MACHINE,_T("Software\\MyAppTest"),&hKey);
	RegSetValue(hKey,NULL,REG_SZ,_T("LieBao"),6);
	DWORD dwAge = 30;
	RegSetValueEx(hKey, _T("age"), 0, REG_DWORD,(CONST BYTE*)&dwAge,4);
	RegCloseKey(hKey);
}


void CDemoDlg::OnBnClickedButtonRead()
{
	// TODO: 在此添加控件通知处理程序代码
	LONG lValue;
	RegQueryValue(HKEY_LOCAL_MACHINE,_T("Software\\MyAppTest"),NULL,&lValue);
	TCHAR *pBuf = new TCHAR[lValue];
	RegQueryValue(HKEY_LOCAL_MACHINE,_T("Software\\MyAppTest"),pBuf,&lValue);
	AfxMessageBox(pBuf);
}


void CDemoDlg::OnBnClickedButtonAge()
{
	// TODO: 在此添加控件通知处理程序代码
	HKEY hKey;
	RegOpenKey(HKEY_LOCAL_MACHINE,_T("Software\\MyAppTest"),&hKey);
	DWORD dwType;
	DWORD dwValue;
	DWORD dwAge;
	RegQueryValueEx(hKey,_T("age"),0,&dwType,(LPBYTE)&dwAge,&dwValue);
	CString str;
	str.Format(_T("age = %d"), dwAge);
	AfxMessageBox(str);
}

 

你可能感兴趣的:(C++)