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