MFC注册表读写

注册表是Windows的一个内部数据库,是一个巨大的树状分层的数据库。它记录了用户安装在计算机上的软件和每个程序的相互关联关系。它包含了计算机的硬件配置信息,包括自动配置的即插即用的设备和已有的各种设备。

下面例子是对注册表的写入与读出处理:

项目---创建---单文档---完成

添加菜单---option;

在option添加子菜单:

RegWrite和RegRead 并添加子菜单事件处理函数。

写入注册表事件程序:

 1 void CRegTrackingView::OnRegoptionRegwrite()
 2 {
 3     // TODO: Add your command handler code here
 4     UINT i;
 5     HKEY m_hKey;
 6     i = RegCreateKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\A21VC"), &m_hKey);
 7     if (i == 0)
 8     {
 9         RegSetValue(m_hKey, TEXT("RegDemo"), REG_SZ, TEXT("123"), strlen("123"));
10         MessageBox(_T("OK"));
11     }
12     else
13     {
14         MessageBox(_T("Failed."));
15     }
16     RegCloseKey(m_hKey);
17 }

读出注册表程序:

1 void CRegTrackingView::OnRegoptionRegread()
2 {
3     // TODO: Add your command handler code here
4     LONG lRead;
5     RegQueryValue(HKEY_LOCAL_MACHINE, _T("SOFTWARE\A21VC\RegDemo"), NULL, &lRead);
6     char* pStr = new char[lRead];
7     RegQueryValue(HKEY_LOCAL_MACHINE, _T("SOFTWARE\A21VC\RegDemo"), pStr, &lRead);
8     MessageBox(pStr);
9 }

End.

以上例子实际运行时正常,但在注册表内却无法找到子健参数信息,不知道是不是系统原因,这有待研究...

谢谢。

原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11720057.html