创建注册表,设置和读取注册表中的值

来源:互联网 发布:java 进程创建原语 编辑:程序博客网 时间:2024/05/21 10:28
#define CACHE_CONFIG_ROOT"Software\\CPFC_FLG"#define CACHE_KEY"CPFC_PASS"/************************************************************************* Purpose : 设置值 Input   :nVal值 Return  : 0--成功 其他--返回错误码 Modify  : Remark  :  *************************************************************************/ DWORD IE_SetRegConfig(CHAR *nPin){LONGlRet= 0;HKEYhKey= NULL;charszTmpSite[1024] = {0};DWORDdwDisp= 0;sprintf(szTmpSite, "%s", CACHE_CONFIG_ROOT);charszFlag[32]= {0};chardwData[32]= {0};charszInfo[1024] = {0};DWORDdwInfo= 0;DWORDdwBufLen= 1024;strcpy(szFlag, CACHE_KEY);lRet = RegOpenKeyExA(HKEY_CURRENT_USER, szTmpSite, 0,  KEY_ALL_ACCESS, &hKey);if (lRet != ERROR_SUCCESS){//不存在该键值就创建lRet = RegCreateKeyExA(HKEY_CURRENT_USER, szTmpSite, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp);if (lRet != ERROR_SUCCESS){return lRet;}}strcpy(dwData, nPin);lRet = RegSetValueExA(hKey, szFlag, NULL, REG_BINARY, (LPBYTE)dwData, strlen(dwData)+1);if(lRet != 0){RegCloseKey(hKey);return lRet;}RegCloseKey(hKey);return 0;}/************************************************************************* Purpose : 读取值 Input   : pnVal值 Return  : None Modify  : Remark  :  *************************************************************************/ void IE_ReadRegConfig(CHAR *pnVal){LONGlRet= 0;HKEYhKey= NULL;charszTmpSite[1024] = {0};charszFlag[32]= {0};charszInfo[1024] = {0};DWORDdwBufLen= 1024;CHARdwData[32]= {0};sprintf(szTmpSite, "%s", CACHE_CONFIG_ROOT);strcpy(szFlag, CACHE_KEY);lRet = RegOpenKeyExA(HKEY_CURRENT_USER, szTmpSite, 0,  KEY_ALL_ACCESS, &hKey);if (lRet != ERROR_SUCCESS){memcpy(pnVal, "0", 1);//给一个默认值return ;}lRet = RegQueryValueExA(hKey, szFlag, NULL, NULL, (LPBYTE)szInfo, &dwBufLen);if (lRet != 0){memcpy(pnVal, "0", 1);//给一个默认值return ;}memcpy(pnVal, szInfo, dwBufLen);return ;}

0 0
原创粉丝点击