修改注册表值

/*******************************************************************************
函数名:EditRegistry
函数功能:修改注册表键值
函数参数:
hKey 根键 e.g--> HKEY_LOCAL_MACHINE
lpSubKey 项名称 
RegAccess 请求权限 e.g--》KEY_ALL_ACCESS
lpValueName 键名
lpType 值类型 
szDestValue 设置的目标值
dwSize 设置的目标值长度
函数返回值:TRUE:修改成功
FALSE:修改失败
函数描述:
注意:lpType 设置和打开的值类型一致
********************************************************************************/
BOOL EditRegistry(IN HKEY hKey,IN LPCSTR lpSubKey,IN REGSAM RegAccess,IN LPCSTR lpValueName ,IN LPDWORD lpType,IN PVOID pDestValue,IN DWORD dwSize);












BOOL EditRegistry(IN HKEY hKey,IN LPCSTR lpSubKey,IN REGSAM RegAccess,IN LPCSTR lpValueName ,IN LPDWORD lpType,IN PVOID pDestValue,IN DWORD dwSize)
{
HKEY hSubKey;
LONG lRet  = 0;
char szValue[128] = {0};
DWORD Size = 512;
//打开注册表项
lRet = RegOpenKeyExA(hKey,lpSubKey,0,RegAccess,&hSubKey);
if (ERROR_SUCCESS != lRet)
{
return FALSE;
}
//打开目标键

LONG lsRet = RegQueryValueExA(hSubKey,lpValueName,0,lpType,(BYTE*)szValue,&Size);
if (ERROR_SUCCESS !=lsRet)
{
return FALSE;
}
//修改目标键
lsRet = RegSetValueExA(hSubKey,lpValueName,0,*lpType,(const BYTE*)pDestValue,dwSize);
if (lsRet!=ERROR_SUCCESS)
{
return FALSE;
}
RegCloseKey(hSubKey);
return TRUE;
}

猜你喜欢

转载自blog.csdn.net/xyb_l_code/article/details/79915769