WRLRegKey.h 1.7 KB
Newer Older
W
wangzuohuai 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/**
 * @file WRLRegKey.h
 *
 * Copyright (c) 2013-?,成都佐罗软件有限公司
 * All rights reserved.
 *
 * @ingroup 
 *
 * @brief 注册表封装
 *
 *
 *
 * @version 
 *
 * @date 2020-07-13
 *
 * @author WZH
 *
 * @history 
 *
 */
W
wangzuohuai 已提交
22 23 24 25 26
// WRLRegKey.h : 注册表操作头文件定义
//

#pragma once

W
wangzuohuai 已提交
27 28 29 30 31 32 33 34 35 36 37 38 39
#include "WRLBaseDef.h"

/// 定义产品在注册表中的安装路径
#define PRODUCT_COMMAN_INSPATH		L"InsPath"
/// 定义产品在注册表中的主版本
#define PRODUCT_COMMAN_MAINVERNAME	L"MainVer"
/// 定义产品在注册表中的次版本
#define PRODUCT_COMMAN_MINIVERNAME	L"MiniVer"
/// 定义产品在注册表中的小版本
#define PRODUCT_COMMAN_SMALLVERNAME	L"SmallVer"
/// 定义产品在注册表中的编译版本
#define PRODUCT_COMMAN_BUILDVERNAME	L"BuildVer"

W
wangzuohuai 已提交
40 41 42
class CWrlRegKey : public CRegKey
{
public:
W
wangzuohuai 已提交
43 44 45
	CWrlRegKey(const ATL::CString& strMainRegPath = COMPANY_REGPATH,\
		const ATL::CString& strChildName = PRODUCT_REGNODENAME, \
		HKEY hKey = HKEY_CURRENT_USER,REGSAM samDesired = KEY_ALL_ACCESS);
W
wangzuohuai 已提交
46 47 48 49 50 51 52 53 54 55 56

	virtual ~CWrlRegKey(void)
	{
		Close();
	}

	BOOL IsOpen()
	{
		return m_bOpenFlag;
	}

W
wangzuohuai 已提交
57 58 59 60
	BOOL NewRegPath(const ATL::CString& strMainRegPath = COMPANY_REGPATH,\
		const ATL::CString& strChildName = PRODUCT_REGNODENAME,\
		HKEY hKey = HKEY_CURRENT_USER,REGSAM samDesired = KEY_ALL_ACCESS);

W
wangzuohuai 已提交
61
	BOOL GetRegStringVal(const ATL::CString& strKeyName,ATL::CString& strKeyValue);
W
wangzuohuai 已提交
62

W
wangzuohuai 已提交
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
	BOOL SetRegStringVal(const ATL::CString& strKeyName,const ATL::CString& strKeyValue);

	BOOL GetRegDwordVal(const ATL::CString& strKeyName,DWORD& dwKeyValue);

	BOOL SetRegDwordVal(const ATL::CString& strKeyName,DWORD dwKeyValue);

	BOOL DelKeyName(const ATL::CString& strKeyName);

	DWORD GetLastErr()
	{
		return m_dwLastErr;
	}

	virtual void Close();

protected:

	DWORD	m_dwLastErr;

	BOOL	m_bOpenFlag;
};