104 lines
2.2 KiB
C
104 lines
2.2 KiB
C
|
|
#ifndef WH_REG_KEY_HEAD_FILE
|
|||
|
|
#define WH_REG_KEY_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "ServiceCoreHead.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class SERVICE_CORE_CLASS CWHRegKey
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
HKEY m_hRegKey; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
static TCHAR m_szMainKeyName[64]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CWHRegKey();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CWHRegKey();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
static VOID SetMainKeyName(LPCTSTR pszMainKeyName);
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
static LPCTSTR GetMainKeyName() { return m_szMainKeyName; }
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><F3B6A8BA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
HKEY Detach();
|
|||
|
|
//<2F><EFBFBD><F3B6A8BC><EFBFBD>
|
|||
|
|
HKEY Attach(HKEY hRegKey);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>رռ<D8B1><D5BC><EFBFBD>
|
|||
|
|
bool CloseRegKey();
|
|||
|
|
//<2F><EFBFBD><F2BFAABC><EFBFBD>
|
|||
|
|
bool OpenRegKey(LPCTSTR pszKeyName, bool bCreate);
|
|||
|
|
//<2F><EFBFBD><F2BFAABC><EFBFBD>
|
|||
|
|
bool OpenRegKey(LPCTSTR pszMainKeyName, LPCTSTR pszKeyName, bool bCreate);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><EFBFBD><F2BFAABC><EFBFBD>
|
|||
|
|
HKEY OpenItemKey(LPCTSTR pszSubKeyName);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
HKEY CreateItemKey(LPCTSTR pszSubKeyName);
|
|||
|
|
//ö<>ټ<EFBFBD><D9BC><EFBFBD>
|
|||
|
|
bool EnumItemString(DWORD dwIndex, LPTSTR pszString, DWORD dwSize);
|
|||
|
|
|
|||
|
|
//д<>뺯<EFBFBD><EBBAAF>
|
|||
|
|
public:
|
|||
|
|
//д<><D0B4><EFBFBD><EFBFBD>ֵ
|
|||
|
|
bool WriteValue(LPCTSTR pszName, DWORD dwValue);
|
|||
|
|
//д<><D0B4><EFBFBD>ַ<EFBFBD>
|
|||
|
|
bool WriteString(LPCTSTR pszName, LPCTSTR pszString);
|
|||
|
|
//д<><D0B4><EFBFBD>ַ<EFBFBD>
|
|||
|
|
bool WriteEncryptString(LPCTSTR pszName, LPCTSTR pszString);
|
|||
|
|
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool WriteBinary(LPCTSTR pszName, const VOID * pData, DWORD dwSize);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>ֵ
|
|||
|
|
DWORD GetValue(LPCTSTR pszName, DWORD dwDefValue);
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
DWORD GetBinary(LPCTSTR pszName, VOID * pData, DWORD dwBufferSize);
|
|||
|
|
//<2F><>ȡ<EFBFBD>ַ<EFBFBD>
|
|||
|
|
DWORD GetString(LPCTSTR pszName, LPTSTR pszString, UINT uMaxCount);
|
|||
|
|
//<2F><>ȡ<EFBFBD>ַ<EFBFBD>
|
|||
|
|
DWORD GetEncryptString(LPCTSTR pszName, LPTSTR pszString, UINT uMaxCount);
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD>ֵ
|
|||
|
|
bool DeleteValue(LPCTSTR pszName);
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool RecurseDeleteKey(LPCTSTR pszSubKeyName);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
operator HKEY() { return m_hRegKey; }
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
HKEY GetRegKey() { return m_hRegKey; }
|
|||
|
|
|
|||
|
|
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG RecurseDeleteKey(HKEY hParentKey, LPCTSTR pszSubKeyName);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|