C/C++注册表【5】其他类型的键值设置

C/C++注册表【5】其他类型的键值设置

1、DWORD 类型键值的设置

void CTestDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	HKEY hKey = NULL;
	TCHAR *lpszSubKey = _T("Console");
	LONG lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszSubKey, 0, KEY_ALL_ACCESS, &hKey);
	if (lRet == ERROR_SUCCESS) {
		DWORD dwValue = 10;
		RegSetValueEx(hKey, _T("TestDWORD"), 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));

		DWORD dwBuffLen = sizeof(DWORD);
		BYTE *lpByte = new BYTE[dwBuffLen];
		ZeroMemory(lpByte, dwBuffLen);
		memcpy(lpByte, &dwValue, dwBuffLen);
		RegSetValueEx(hKey, _T("BYTEDWORD"), 0, REG_DWORD, lpByte, dwBuffLen);
		delete[] lpByte;

		DWORD dwRealValue = 0;
		dwBuffLen = sizeof(DWORD);
		RegQueryValueEx(hKey, _T("TestDWORD"), NULL, NULL, (LPBYTE)&dwRealValue, &dwBuffLen);

		RegCloseKey(hKey);
	}
}

2、子键下默认键值的设置

void CTestDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	HKEY hKey = NULL;
	TCHAR *lpszSubKey = _T("Console");
	LONG lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszSubKey, 0, KEY_ALL_ACCESS, &hKey);
	if (lRet == ERROR_SUCCESS) {
		CString strValue = _T("cctry.com");
		RegSetValueEx(hKey, NULL, 0, REG_SZ, (LPBYTE)strValue.GetBuffer(), strValue.GetLength() * sizeof(TCHAR));
		strValue.ReleaseBuffer();

		BYTE szBuf[20] = { 0 };
		DWORD dwBuffLen = 20;
		RegQueryValueEx(hKey, NULL, NULL, NULL, szBuf, &dwBuffLen);

		CString strByte;
		strByte.Format(_T("%s"), szBuf);
		MessageBox(strByte);
		RegCloseKey(hKey);
	}
}

3、查看注册表实现文件类型关联

这里不介绍编程,介绍查看方式:win+R------》cmd-------》ftype。(可以写个简单的bat,让结果保存在txt文本。)

(本章代码参考VC驿站)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值