VC注册表写入和读取字符串
2017-06-03 14:49
411 查看
关于注册表读写的文章网上有很多,但是真的要用到的时候发现很难找到直接向注册表读写Cstring字符串的文章
void CTestDlg::WirteREG(void) { int nIndex=1; Cstring strr1.Format("%i,%i,%i",1,2,3); Cstring strr.Format("CmSet%i",nIndex); HKEY hKey = nullptr; //创建成功,将得到hKey,一个注册表句柄,用于下面操作注册表 if (ERROR_SUCCESS != RegCreateKey(HKEY_CURRENT_USER, TEXT("SoftWare\\Test\\set"), &hKey)) { AfxMessageBox(TEXT("创建注册表失败")); return; } //写入注册表 //类型 //名称 //字符个数 //只能写入一个value if (ERROR_SUCCESS != RegSetValue(hKey,nullptr,REG_SZ,TEXT("Test"),4)) { AfxMessageBox(TEXT("写入注册表失败")); return; } if (hKey ==nullptr) { return; } LONG lRet = 0; LPSTR lpPath = (LPSTR)(LPCTSTR)strr1; //这个函数可以写入更多的Value //名称 //强制为零 //类型 //数据 if (ERROR_SUCCESS != (lRet = RegSetValueEx(hKey, TEXT(strr), 0, REG_SZ, (CONST BYTE *)lpPath, strr1.GetLength()))) { AfxMessageBox(TEXT("写入注册表失败Ex")); return; } AfxMessageBox(TEXT("写入注册表成功!")); RegCloseKey(hKey); } void CTestDlg::ReadREG(void) { LONG lValue = 0; //先读取数据的长度 RegQueryValue(HKEY_CURRENT_USER, TEXT("SoftWare\\Test\\set"), nullptr, &lValue); TCHAR *pBuf = new TCHAR[lValue]; RegQueryValue(HKEY_CURRENT_USER, TEXT("SoftWare\\Test\\set"), pBuf, &lValue); AfxMessageBox(pBuf); HKEY hKey = nullptr; DWORD dwTpye = REG_SZ; DWORD dwValue = MAX_PATH;//这个大小一定要先求出来,否则会出错(234) TCHAR data[MAX_PATH]; LONG lRet = 0; //打开注册表 RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("SoftWare\\CXTest\\set"),0, KEY_ALL_ACCESS,&hKey); //RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SoftWare\\Test"), &hKey);
//读注册表 //valuename //返回value类型 //数据缓存区 //缓存区大小 if (ERROR_SUCCESS != (lRet = RegQueryValueEx(hKey, TEXT("CmSet1"), 0, &dwTpye, (LPBYTE)data, &dwValue))) { AfxMessageBox(TEXT("读取注册表失败!")); return; } AfxMessageBox(TEXT("读取注册表成功!")); CString s; s.Format(data);
sscanf(s,"%i,%i",&cc,&xx);
AfxMessageBox(s);
}
相关文章推荐
- C# 操作注册表 写入注册表 修改注册表 读取注册表
- VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本
- VC将字符串写入到txt文件中
- 注册表处理之(写入DWORD类型或者字符串类型的键项值)
- unity 在指定目录创建文件/读取文件/在文件内写入字符串
- 读取从a.txt中读取一个字符串,排序后写入b.txt文件中
- 在注册表写入+读取当前软件的语言版本号+路径信息
- Java 创建文件夹和文件,字符串写入文件,读取文件
- VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本
- VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本
- Foundation框架(7)——NSArray的派生、将数组中得元素拼接成字符串、将数组写入文件、从文件中读取数组内容
- Java 按行读取文件按行写入文件并以空格分割字符串
- 字符串,字典,数组写入本地文件和从本地文件读取
- VC写入注册表,使程序开机启动
- VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本
- java中的文件操作:读取写入byte[]字节流、string字符串、list列表
- vc++对文件的读取,写入操作
- vc读取文件,修改写入,保存文件
- 将字符串加密后写入文件,然后读取该文件,并解密。
- VC读取和写入配置文件