📄 regkey.cpp
字号:
// Jonfei Class
#include "stdafx.h"
#include "RegKey.h"
#include <winreg.h>
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRegKey
void CRegKey1::Close()
{
if (m_hKey != NULL)
{
LONG lRes = RegCloseKey(m_hKey);
ASSERT(lRes == ERROR_SUCCESS);
m_hKey = NULL;
}
}
BOOL CRegKey1::Create(HKEY hKey, LPCTSTR lpszKeyName)
{
ASSERT(hKey != NULL);
return (RegCreateKey(hKey, lpszKeyName, &m_hKey) == ERROR_SUCCESS);
}
BOOL CRegKey1::VerifyKey (HKEY hKeyRoot, LPCTSTR pszPath)
{
ASSERT (hKeyRoot);
ASSERT (pszPath);
LONG ReturnValue = RegOpenKeyEx (hKeyRoot, pszPath, 0L,
KEY_ALL_ACCESS, &m_hKey);
if(ReturnValue == ERROR_SUCCESS)
return TRUE;
return FALSE;
}
BOOL CRegKey1::VerifyKey (LPCTSTR pszPath)
{
ASSERT (m_hKey);
LONG ReturnValue = RegOpenKeyEx (m_hKey, pszPath, 0L,
KEY_ALL_ACCESS, &m_hKey);
if(ReturnValue == ERROR_SUCCESS)
return TRUE;
return FALSE;
}
BOOL CRegKey1::VerifyValue (LPCTSTR pszValue)
{
ASSERT(m_hKey);
LONG lReturn = RegQueryValueEx(m_hKey, pszValue, NULL,
NULL, NULL, NULL);
if(lReturn == ERROR_SUCCESS)
return TRUE;
return FALSE;
}
BOOL CRegKey1::Open(HKEY hKey, LPCTSTR lpszKeyName)
{
ASSERT(hKey != NULL);
return (RegOpenKey(hKey, lpszKeyName, &m_hKey) == ERROR_SUCCESS);
}
BOOL CRegKey1::SetStringValue(LPCTSTR pszKey , CString strValue)
{
LPCTSTR lpszVarName;
lpszVarName = strValue;
ASSERT(m_hKey != NULL);
return (RegSetValueEx(m_hKey, pszKey, NULL, REG_SZ,
(BYTE * const)lpszVarName, (lstrlen(lpszVarName )+1)*sizeof(TCHAR)) == ERROR_SUCCESS);
}
BOOL CRegKey1::GetStringValue(LPCTSTR pszKey , CString& strValue)
{
DWORD dw = 0;
DWORD dwType = 0;
LONG lRes = 0;
ASSERT(m_hKey != NULL);
strValue.Empty();
lRes = RegQueryValueEx( m_hKey, (LPTSTR)pszKey, NULL, &dwType,
NULL, &dw);
if (lRes == ERROR_SUCCESS)
{
ASSERT(dwType == REG_SZ);
LPTSTR lpsz = strValue.GetBufferSetLength(dw);
lRes = RegQueryValueEx(m_hKey, (LPTSTR)pszKey, NULL, &dwType, (BYTE*)lpsz, &dw);
ASSERT(lRes == ERROR_SUCCESS);
strValue.ReleaseBuffer();
return TRUE;
}
return FALSE;
}
BOOL CRegKey1::SetIntValue( LPCTSTR pszKey , int nValue )
{
DWORD dwValue;
ASSERT(m_hKey);
ASSERT(pszKey);
dwValue = (DWORD)nValue;
LONG ReturnValue = RegSetValueEx (m_hKey, pszKey, 0L, REG_DWORD,
(CONST BYTE*) &dwValue, sizeof(DWORD));
if(ReturnValue == ERROR_SUCCESS)
return TRUE;
return FALSE;
}
BOOL CRegKey1::SetDWordValue (LPCTSTR pszKey, DWORD dwVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);
return RegSetValueEx (m_hKey, pszKey, 0L, REG_DWORD,
(CONST BYTE*) &dwVal, sizeof(DWORD));
}
BOOL CRegKey1::GetIntValue(LPCTSTR pszKey, int& nValue)
{
ASSERT(m_hKey);
ASSERT(pszKey);
DWORD dwType;
DWORD dwSize = sizeof (DWORD);
DWORD dwDest;
LONG lReturn = RegQueryValueEx (m_hKey, (LPSTR) pszKey, NULL,
&dwType, (BYTE *) &dwDest, &dwSize);
if(lReturn == ERROR_SUCCESS)
{
nValue = (int)dwDest;
return TRUE;
}
return FALSE;
}
BOOL CRegKey1::GetDWordValue(LPCTSTR pszKey, DWORD& dwVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);
DWORD dwType;
DWORD dwSize = sizeof (DWORD);
DWORD dwDest;
LONG lReturn = RegQueryValueEx (m_hKey, (LPSTR) pszKey, NULL,
&dwType, (BYTE *) &dwDest, &dwSize);
if(lReturn == ERROR_SUCCESS)
{
dwVal = dwDest;
return TRUE;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -