This article details a tool aimed to import/export registry sections in XML format, to make registry diff easier in practice.
|
#pragma once
long Helper_OpenKey(CString &szMainKey, CString &szPath, HKEY *pKey);
void AddChildren(CTreeCtrl &tree, HTREEITEM hItem, CString &szPath);
void AddChildRegistryKeys(CTreeCtrl &tree, HTREEITEM hParent, HKEY hKey);
void AddRegistryValues(HKEY hKey, CPtrArray &arrValues);
CString ConvertToString(DWORD dwType, LPTSTR szRawBuffer, DWORD nLen);
void ConvertFromString(CString &szValue, DWORD dwType, LPSTR *szRawBuffer, DWORD *nLen);
CString StringFromValueType(DWORD nType);
DWORD TypeFromString(CString &szValueType);
char ConvertToDecimal(char c1, char c2);
BOOL SaveAsXml( XmlWriter &w, BOOL bFaked, CString &szPath);
BOOL SaveAsXml( XmlWriter &w, BOOL bFaked, CString szKeyname, HKEY hKey);
BOOL LoadAsXml( XmlReader &r, CString &szFilename);
HKEY LoadAsXml_OpenKey(CPtrArray &arrInternalKeyLoads);
void LoadAsXml_CloseKey(HKEY hKey);
void LoadAsXml_SetValue(HKEY hKey, CString &szName, CString &szValue, CString &szType);
CString GetEscapedXmlString(CString szInput); // Xml escape chars ( " ==> ", < ==> <, & ==> &)
CString UTF8Conversion(CString &s); // local charset ==> UTF8
CString GetUnescapedXmlString(CString szInput); // Xml escape chars (" ==> ", < ==> <, & ==> &);
CString FromUTF8Conversion(CString &s); // UTF8 ==> local charset
struct InternalKeyLoad // used in LoadAsXml
{
CString szKeyname;
HKEY hKey;
};
|
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.
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.