您的位置:首页 > 其它

读写注册表

2011-02-24 10:34 183 查看
/*************************************************
Function:			SetRegValue
Description:		写注册表
Calls:
Called By:
Table Accessed:
Table Updated:
Input:			lpszPath 目录路径
lpszKey  键名
lpszValue 键值
Output:
Return:
Others:
*************************************************/
BOOL  CLookupClientDlg::SetRegValue(LPCTSTR lpszPath, LPCTSTR lpszKey, LPCTSTR lpszValue)
{
HKEY   hKey;
DWORD  dwDisp;
LONG   lRet;

lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszPath, 0L, KEY_ALL_ACCESS, &hKey);
if(lRet != ERROR_SUCCESS)
{
lRet = RegCreateKeyEx(HKEY_CURRENT_USER, lpszPath, 0L, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, &dwDisp);
}
if(lRet == ERROR_SUCCESS)
{
lRet = RegSetValueEx(hKey, lpszKey, 0L, REG_SZ, (const BYTE*)lpszValue, _tcslen(lpszValue) + 1);
RegCloseKey(hKey);
return (lRet == ERROR_SUCCESS);
}

return   FALSE;
}
/*************************************************
Function:			GetRegValue
Description:		读注册表
Calls:
Called By:
Table Accessed:
Table Updated:
Input:			lpszPath 目录路径
lpszKey  键名
Output:			lpszValue 键值
Return:
Others:
*************************************************/
BOOL  CLookupClientDlg::GetRegValue(LPCTSTR lpszPath, LPCTSTR lpszKey, LPTSTR lpszValue, DWORD dwBuffSize)
{
HKEY   hKey;
DWORD  dwType = REG_SZ;
DWORD  dwSize = dwBuffSize;
LONG   lRet;

lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszPath, 0L, KEY_ALL_ACCESS, &hKey);
if(lRet == ERROR_SUCCESS)
{
lRet = RegQueryValueEx(hKey, lpszKey, NULL, &dwType, (BYTE*)lpszValue, &dwSize);
RegCloseKey(hKey);
return (lRet == ERROR_SUCCESS);
}

return   FALSE;
}
用法示例:
读:
CString strRegPath = _T("Software//hrjd//SearchMachine//SearchKey"); // 注意要用//,Software前面不加//,SearchKey即为最底层的目录
GetRegValue(strRegPath, _T("SearchKey"), m_szKeys, 1024); // 读取键名为SearchKey的键值
写:
CString strRegPath = _T("Software//hrjd//SearchMachine//SearchKey");

SetRegValue(strRegPath, _T("SearchKey"), LPCTSTR(m_strKeys));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: