📄 reg.h
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 预处理
#pragma once
#include "Define.h"
#include <Windows.h>
#define DEF_SubKey TEXT("Software\\") STR_AppName
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CReg 类
class CReg
{
public:
// 键
static HKEY m_hKey;
public:
// 打开
inline static LONG Open(PCTSTR ptzSubKey = DEF_SubKey, HKEY hKey = HKEY_CURRENT_USER)
{
return RegCreateKeyEx(hKey, ptzSubKey, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &m_hKey, NULL);
}
// 关闭
inline static LONG Close()
{
return RegCloseKey(m_hKey);
}
public:
// 获取整数
inline static INT GetInt(PCTSTR ptzValName = NULL, UINT iDefault = 0)
{
DWORD dwSize = sizeof(DWORD);
RegQueryValueEx(m_hKey, ptzValName, NULL, NULL, (PBYTE) &iDefault, &dwSize);
return iDefault;
}
// 设置整数
inline static LONG SetInt(PCTSTR ptzValName = NULL, INT iValue = 0)
{
return RegSetValueEx(m_hKey, ptzValName, 0, REG_DWORD, (PBYTE) &iValue, sizeof(DWORD));
}
// 获取字符串
inline static PTSTR GetString(PCTSTR ptzValName, PTSTR ptzString, DWORD dwSize = MAX_PATH, PCTSTR ptzDefault = TEXT(""))
{
return RegQueryValueEx(m_hKey, ptzValName, NULL, NULL, (PBYTE) ptzString, &dwSize)
? lstrcpy(ptzString, ptzDefault) : ptzString;
}
// 设置字符串
inline static LONG SetString(PCTSTR ptzValName = NULL, PCTSTR ptzString = TEXT(""))
{
return RegSetValueEx(m_hKey, ptzValName, 0, REG_SZ, (PBYTE) ptzString, (lstrlen(ptzString) + 1) * sizeof(TCHAR));
}
// 获取结构
inline static LONG GetStruct(PCTSTR ptzValName, PVOID pvStruct, DWORD dwSize)
{
return RegQueryValueEx(m_hKey, ptzValName, NULL, NULL, (PBYTE) pvStruct, &dwSize);
}
// 设置结构
inline static LONG SetStruct(PCTSTR ptzValName, PVOID pvStruct, DWORD dwSize)
{
return RegSetValueEx(m_hKey, ptzValName, 0, REG_BINARY, (PBYTE) pvStruct, dwSize);
}
public:
// 删除键
inline static LONG DelKey(PCTSTR ptzSubKey = DEF_SubKey, HKEY hKey = HKEY_CURRENT_USER)
{
return RegDeleteKey(hKey, ptzSubKey);
}
// 删除值
inline static LONG DelVal(PCTSTR ptzValName = NULL)
{
return RegDeleteValue(m_hKey, ptzValName);
}
// 枚举键
inline static LONG EnumKey(DWORD dwIndex, PTSTR ptzKeyName)
{
FILETIME ftTime;
DWORD dwSize = MAX_PATH;
return RegEnumKeyEx(m_hKey, dwIndex, ptzKeyName, &dwSize, NULL, NULL, 0, &ftTime);
}
// 枚举值
inline static LONG EnumVal(DWORD dwIndex, PTSTR ptzValName, PBYTE pbData, PDWORD pdwSize, PDWORD pdwType = NULL)
{
DWORD dwSize = MAX_PATH;
return RegEnumValue(m_hKey, dwIndex, ptzValName, &dwSize, NULL, pdwType, pbData, pdwSize);
}
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -