Frage : C++, das Register-Niederlassung exportiert

Gut-Tag; das

I morgens etwas Mühen habend, ein Register zu exportieren ausbreiten in C++ en.  Der Code unten exportiert eine Niederlassung, gleichwohl er in einem unbrauchbaren Format ist, es schaut, um ein Binärdatei…

What zu sein, das ich versuche zu vollenden bin das Endergebnis der gespeicherten Registerakte, zum im gleichen Format zu sein, als ob ich „Akte - > Export“ im Register Editor.

Thank Sie während Ihrer Hilfe und Zeit vorwählte;
Kind regards
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
int _tmain (int argc, _TCHAR* argv [])
{
	backupReg („Software-\ \ MyProgram“, „c:\ \ reg.reg“);
        //MyProgram enthält subkeys und Werte…
	Rückkehr 0;
}

BOOL backupReg (Schnur subreg, Schnur savepath)
{
HKEY keyHandle;
LRESULT Resultat = RegOpenKeyExA (HKEY_CURRENT_USER, subreg.c_str (), 0L, KEY_ALL_ACCESS, &keyHandle);

wenn (Resultat! = ERROR_SUCCESS)
{
	MessageBoxA (0, „könnte nicht öffnen“, "", 0); 
	Rückholfalsches;
}
 
SetPrivilege (SE_BACKUP_NAME, AUSRICHTEN);
SetPrivilege (SE_RESTORE_NAME, AUSRICHTEN);
// beide rösten zutreffendes
Resultat = RegSaveKeyExA (keyHandle, savepath.c_str (), NULL, REG_LATEST_FORMAT);
wenn (Resultat! = ERROR_SUCCESS)
{
	 MessageBoxA (0, „könnte nicht speichern“, "", 0);
	 Rückholfalsches;
}
   
RegCloseKey (keyHandle);
Rückhol ausrichten;
}


//Set-Privileg
BOOL SetPrivilege (LPCTSTR lpszPrivilege, BOOL bEnablePrivilege)
{
 TOKEN_PRIVILEGES TP;
 LUID luid;
 HANDGRIFF hToken;

 OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
 wenn (! LookupPrivilegeValue (NULL, lpszPrivilege, &luid))   
  RÜCKHOLFALSCHES;
 
 tp.PrivilegeCount = 1;
 TP. Privilegien [0]. Luid = luid;
 
 wenn (bEnablePrivilege)
  TP. Privilegien [0]. Attribute = SE_PRIVILEGE_ENABLED;
 sonst
     TP. Privilegien [0]. Attribute = 0;

 AdjustTokenPrivileges (hToken, FALSCH, &tp, 0, (PTOKEN_PRIVILEGES) NULL, 0);

 zurückgehen ((GetLastError ()! =ERROR_SUCCESS)? FALSCH: AUSRICHTEN);
}

Antwort : C++, das Register-Niederlassung exportiert

Traurig, gewesen weg von meiner eMail für eine Weile….

Ja können Sie RegSaveKeyEx und RegLoadKey verwenden. Bestimmt für, das IST, was sie, es ist, gerade dass das Resultat RegSaveKeyEx nicht im Format ist, dass Sie nachher in Ihrer Frage waren, während es ursprünglich angegeben.
Weitere Lösungen  
 
programming4us programming4us