📄 keyrun.cpp
字号:
#include "stdafx.h"
#include "KeyRun.h"
#include <winreg.h>
/////////////////////////////////////////////////////////////////////////////
// CKey
void CKeyRun::Close()
{
if (m_hKey != NULL)
{
LONG lRes = RegCloseKey(m_hKey);
m_hKey = NULL;
}
}
BOOL CKeyRun::Create(HKEY hKey, LPCTSTR lpszKeyName)
{
return (RegCreateKey(hKey, lpszKeyName, &m_hKey) == ERROR_SUCCESS);
}
BOOL CKeyRun::Open(HKEY hKey, LPCTSTR lpszKeyName)
{
return (RegOpenKey(hKey, lpszKeyName, &m_hKey) == ERROR_SUCCESS);
}
BOOL CKeyRun::SetStringValue(LPCTSTR lpszValue, LPCTSTR lpszValueName)
{
return (RegSetValueEx(m_hKey, lpszValueName, NULL, REG_SZ,
(BYTE * const)lpszValue, (lstrlen(lpszValue)+1)*sizeof(TCHAR)) == ERROR_SUCCESS);
}
BOOL CKeyRun::GetStringValue(string& str, LPCTSTR lpszValueName)
{
str.erase( str.begin(), str.end() );
DWORD dw = 0;
DWORD dwType = 0;
LONG lRes = RegQueryValueEx(m_hKey, (LPTSTR)lpszValueName, NULL, &dwType,
NULL, &dw);
if (lRes == ERROR_SUCCESS)
{
LPTSTR lpsz = new TCHAR[ dw+1 ];
lRes = RegQueryValueEx(m_hKey, (LPTSTR)lpszValueName, NULL, &dwType, (BYTE*)lpsz, &dw);
lpsz[ dw ] = '\0';
str = lpsz;
delete lpsz;
return TRUE;
}
return FALSE;
}
BOOL CKeyRun::SetBinData( const BYTE* lpbyValue, DWORD dwSize, LPCTSTR lpszValueName )
{
return (RegSetValueEx(m_hKey, lpszValueName, NULL, REG_BINARY,
lpbyValue, dwSize) == ERROR_SUCCESS);
}
BOOL CKeyRun::GetBinData( BYTE*& lpbyValue, DWORD& dwSize, LPCTSTR lpszValueName )
{
lpbyValue = NULL;
dwSize = 0;
DWORD dwType = 0;
LONG lRes = RegQueryValueEx(m_hKey, (LPTSTR)lpszValueName, NULL, &dwType,
NULL, &dwSize);
if (lRes == ERROR_SUCCESS)
{
lpbyValue = new BYTE[ dwSize ];
lRes = RegQueryValueEx(m_hKey, (LPTSTR)lpszValueName, NULL, &dwType,
lpbyValue, &dwSize);
return TRUE;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -