📄 regkey.cpp
字号:
#include "stdafx.h"
#include "regkey.h"
CMyRegKey::CMyRegKey()
{
m_hKey=NULL;
}
CMyRegKey::~CMyRegKey()
{
Close();
}
LONG CMyRegKey::Open(HKEY hKeyRoot,LPCTSTR pszPath)
{
DWORD dw;
m_sPath = pszPath;
return RegCreateKeyEx(hKeyRoot,pszPath,0L,NULL,REG_OPTION_VOLATILE,KEY_ALL_ACCESS,NULL,&m_hKey,&dw);
}
void CMyRegKey::Close()
{
if(m_hKey)
{
RegCloseKey(m_hKey);
m_hKey = NULL;
}
}
LONG CMyRegKey::Write(LPCTSTR pszKey,DWORD dwVal)
{
ASSERT (m_hKey);
ASSERT (pszKey);
return RegSetValueEx(m_hKey,pszKey,0L,REG_DWORD,(CONST BYTE*)&dwVal,sizeof(DWORD));
}
LONG CMyRegKey::Write(LPCTSTR pszKey,LPCTSTR pszVal)
{
ASSERT (m_hKey);
ASSERT (pszKey);
ASSERT (pszVal);
ASSERT (AfxIsValidAddress(pszVal,strlen(pszVal),FALSE));
return RegSetValueEx(m_hKey,pszKey,0L,REG_SZ,(CONST BYTE*)pszVal,strlen(pszVal)+1);
}
LONG CMyRegKey::Write(LPCTSTR pszKey,const BYTE* pData,DWORD dwLength)
{
ASSERT (m_hKey);
ASSERT (pszKey);
ASSERT (pData&&dwLength>0);
ASSERT (AfxIsValidAddress(pData,dwLength,FALSE));
return RegSetValueEx(m_hKey,pszKey,0L,REG_BINARY,pData,dwLength);
}
LONG CMyRegKey::Read(LPCTSTR pszKey,DWORD& dwVal)
{
ASSERT (m_hKey);
ASSERT (pszKey);
DWORD dwType;
DWORD dwSize = sizeof(DWORD);
DWORD dwDest;
LONG lRet= RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)&dwDest,&dwSize);
if(lRet == ERROR_SUCCESS)
dwVal = dwDest;
return lRet;
}
LONG CMyRegKey::Read(LPCTSTR pszKey,CString& sVal)
{
ASSERT (m_hKey);
ASSERT (pszKey);
DWORD dwType;
DWORD dwSize = 200;
char string [200];
LONG lRet= RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)string,&dwSize);
if(lRet == ERROR_SUCCESS)
sVal = string;
return lRet;
}
LONG CMyRegKey::Read(LPCTSTR pszKey,BYTE* pData,DWORD& dwLength)
{
ASSERT (m_hKey);
ASSERT (pszKey);
DWORD dwType;
return RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)pData,&dwLength);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -