⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reg.h

📁 Cele Task - 强大的工作管理员
💻 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 + -