regnode.h

来自「有关界面的编程源码。很有参考价值!值得一看」· C头文件 代码 · 共 56 行

H
56
字号
// RegNode.h: interface for the CRegNode class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_REGNODE_H__A5AAE580_20CD_497F_B6AB_396278A76436__INCLUDED_)
#define AFX_REGNODE_H__A5AAE580_20CD_497F_B6AB_396278A76436__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define	REGNODE_TYPE_UNKNOWN	0
#define	REGNODE_TYPE_KEY		2
#define	REGNODE_TYPE_VALUE		4
#define	REGNODE_TYPE_DATA		8
#define	REGNODE_TYPE_ROOT		0x10
#define	REGNODE_TYPE_TOPMOST	0x20

class CRegNode  
{
public:
	CRegNode();
	CRegNode(CString strName, DWORD dwType);
	~CRegNode();
	CString m_strName;
	HTREEITEM m_hItem;
	DWORD m_dwType;
	BOOL m_bLoaded;
	DWORD m_dwDataType, m_dwDataSize;
	LPBYTE m_lpData;
	BOOL m_bValuesLoaded;

	CRegNode *m_pParent;
	CRegNode *m_pFirstChild;
	CRegNode *m_pNextSibling;
	CRegNode *m_pPrevSibling;
	AddChild(CRegNode *pChild);
	HKEY GetKeyHandle();
	HKEY GetKeyRoot();
	CString GetKeyPath();

};

void AddNode(CRegNode *pNode, CRegNode *pParent);
BOOL LoadKey(CRegNode *pParentNode);
void LoadValues(CRegNode *pNode);
void DeleteNode(CRegNode *pNode);
void DeleteKey(CRegNode *pNode);
BOOL DeleteKeyRecursive(CRegNode *pNode);
void LoadKeysRecursive(CRegNode *pNode, BOOL bLoadValues = FALSE);
void CreateKeyRecursive(CRegNode *pNode, BOOL bCreateValues = FALSE);
BOOL CreateKey(CRegNode *pNode);
BOOL CreateValue(CRegNode *pNode);

#endif // !defined(AFX_REGNODE_H__A5AAE580_20CD_497F_B6AB_396278A76436__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?