Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version
Go to top

Import/Export registry sections as XML

, 21 Jan 2003
Export registry sections as XML to simplify registry diffs
registryasxml_demo.zip
ReleaseMFCdll
registryasxml.exe
Release
registryasxml.exe
registryasxml_src.zip
registryxml.dsp
registryxml.dsw
res
Icon_Anchor.jpg
Icon_Form.jpg
Icon_Frame.jpg
Icon_Media.jpg
Icon_Root.jpg
ImageList.bmp
ImageList256.bmp
registryxml.ico
RegistryxmlDoc.ico
TocImageList.bmp
Toolbar.bmp
registryxml.opt
registryxml.plg
registryxml.suo
registryasxml__demo.zip
registryasxml.exe
registryasxml.exe
registryasxml__src.zip
registryxml.dsp
registryxml.dsw
Icon_Anchor.jpg
Icon_Form.jpg
Icon_Frame.jpg
Icon_Media.jpg
Icon_Root.jpg
ImageList.bmp
ImageList256.bmp
registryxml.ico
RegistryxmlDoc.ico
TocImageList.bmp
Toolbar.bmp
#pragma once





class registryxmlDoc; // forward declaration


class registryxmlTree : public CTreeView
{
protected: // create from serialization only
	registryxmlTree();
	DECLARE_DYNCREATE(registryxmlTree)

// Members
protected :
	CImageList	m_imglDrives;			// main image list
	HTREEITEM	m_hItem;
	BOOL		m_hItemBOOL;			// tells the m_hItem value is valid

	HTREEITEM	m_hItemFirstSel;		// Init to NULL in constructor
	BOOL		m_bCtrlClick;			// used to know we are ctrl-clicking items


public:
	registryxmlDoc* GetDocument();

// Operations
public:



	// multiple selection
	//

	void		OnSelectionChanged(CString &strPath);
	void		ClearSelection(HTREEITEM hBaseItem);
	BOOL		SelectItems(HTREEITEM hItemFrom, HTREEITEM hItemTo);
	HTREEITEM	GetFirstSelectedItem();
	HTREEITEM	GetFirstSelectedItem( HTREEITEM hBaseItem );
	HTREEITEM	GetNextSelectedItem( HTREEITEM hItem );
	int			GetSelectedCount(HTREEITEM hBaseItem);




	// helpers
	//

	BOOL		IsExpanded(HTREEITEM hItem);

	void		OnSaveAsXml(BOOL bFakedXml);


	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(registryxmlTree)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual void OnInitialUpdate(); // called first time after construct
	virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
	virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
	//}}AFX_VIRTUAL


	

// Implementation
public:
	virtual ~registryxmlTree();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	CString GetPathFromNode(HTREEITEM hItem);
	void Refresh();

// Generated message map functions
protected:
	//{{AFX_MSG(registryxmlTree)
		// NOTE - the ClassWizard will add and remove member functions here.
		afx_msg int		OnCreate(LPCREATESTRUCT);
		afx_msg	void	OnDestroy();

		afx_msg void	OnSelChanged (NMHDR*,LRESULT*);
		afx_msg void	OnRightClick(NMHDR * pNotifyStruct, LRESULT* result);
		afx_msg void	OnExpand(NMHDR *pnmh,LRESULT *pResult);
		afx_msg void	OnKeyDown( UINT, UINT, UINT ); 
		afx_msg void	OnLButtonDown(UINT nFlags, CPoint point);
	
		afx_msg void	OnRefresh();

		afx_msg void	OnSaveAsXml();
		afx_msg void	OnSaveAsFakedXml();
		afx_msg	void	OnLoadXml();

		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Addicted to reverse engineering. At work, I am developing business intelligence software in a team of smart people (independent software vendor).
 
Need a fast Excel generation component? Try xlsgen.
 

| Advertise | Privacy | Mobile
Web03 | 2.8.140916.1 | Last Updated 22 Jan 2003
Article Copyright 2002 by Stephane Rodriguez.
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid