Files
wnmj-normal/Servers/服务器组件/服务核心/WHRegKey.h

104 lines
2.2 KiB
C
Raw Normal View History

2026-03-03 13:56:44 +08:00
#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