写注册表
//创建或打开注册表项。默认为创建,当注册表中有此项时。为打开。
HKEY hKey; //是一个返回值,指向一个变量的指针,
// 用来接受创建或打开的表项的句柄。
//当不再需要此返回的注册表项句柄时,调用RegCloseKey函数关闭这个句柄。
RegCreateKey(HKEY_LOCAL_MACHINE, "software\\vc\\zhuchebiao", &hKey);
// 设置注册表项 和 注册表项的值 只能写字符串 如果是其他类型的用 RegSetValueEx
RegSetValue(hKey, NULL, REG_SZ, "321321", strlen("321321") );
// 写入 如果是其他类型的 数据
DWORD dwAge = 30;
RegSetValueEx(hKey, "age", 0, REG_DWORD, (CONST BYTE*)&dwAge, 4 ); //age 表项名称
// 关闭句柄
RegCloseKey(hKey);
读注册表
方法一:
//如果在调用RegQueryValue函数时,将其第三个参数设置为NULL,第四个参数设置为非NULL,
// 那么该函数将返回存储数据的大小
LONG lvalue;
RegQueryValue(HKEY_LOCAL_MACHINE, "software\\vc\\zhuchebiao", NULL, & lvalue);
char *pBuf = new char[lvalue];
RegQueryValue(HKEY_LOCAL_MACHINE, "software\\vc\\zhuchebiao", pBuf, & lvalue);
AfxMessageBox(pBuf, MB_OK);
// 表中有其他数据
//函数打开给定键
HKEY hKey;
RegOpenKey(HKEY_LOCAL_MACHINE, "software\\vc\\zhuchebiao", &hKey);
DWORD dwtype;
DWORD dwvalue;
DWORD dwAge;
方法二:
//读取数据
RegQueryValueEx(hKey, "age", 0, &dwtype, (LPBYTE)&dwAge, &dwvalue);
CString str;
str.Format("age=%d", dwAge);
AfxMessageBox(str, MB_OK);