Vraag : C++ de Uitvoerende Tak van de Registratie

Goed-dag;

I am sommige problemen hebben die een registratietak in C++ uitvoeren.  De code zal hieronder een tak uitvoeren, nochtans is het in een onbruikbaar formaat, ziet het om een binair dossier…

What te zijn eruit ik probeer te verwezenlijken ben het eindresultaat van het opgeslagen registratiedossier om in het zelfde formaat te zijn alsof ik „Dossier - > de Uitvoer“ in de Registratie Editor.

Thank u voor uw hulp en tijd selecteerde;
Vriendelijke groeten
" codeBody "
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:
36:
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 bevat subkeys en waarden…
	terugkeer 0;
}

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

als (resultaat! = ERROR_SUCCESS)
{
	MessageBoxA (0, „konden niet openen“, "", 0); 
	valse terugkeer;
}
 
SetPrivilege (WARE SE_BACKUP_NAME,);
SetPrivilege (WARE SE_RESTORE_NAME,);
// allebei root waar
resultaat = RegSaveKeyExA (keyHandle, savepath.c_str (), ONGELDIG, REG_LATEST_FORMAT);
als (resultaat! = ERROR_SUCCESS)
{
	 MessageBoxA (0, „konden niet sparen“, "", 0);
	 valse terugkeer;
}
   
RegCloseKey (keyHandle);
ware terugkeer;
}


//Set Voorrecht
BOOL SetPrivilege (LPCTSTR lpszPrivilege, BOOL bEnablePrivilege)
{
 TOKEN_PRIVILEGES tp;
 LUID luid;
 Het HANDVAT hToken;

 OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
 als (! LookupPrivilegeValue (VERKLAAR, lpszPrivilege, &luid) nietig)   
  keer VALS terug;
 
 tp.PrivilegeCount = 1;
 tp. Voorrechten [0]. Luid = luid;
 
 als (bEnablePrivilege)
  tp. Voorrechten [0]. Schrijft = SE_PRIVILEGE_ENABLED toe;
 anders
     tp. Voorrechten [0]. Schrijft = 0 toe;

 AdjustTokenPrivileges (hToken, VALS, &tp, 0, (PTOKEN_PRIVILEGES) ONGELDIG, 0);

 terugkeer ((GetLastError ()! =ERROR_SUCCESS)? VALS: WAAR);
}

Antwoord : C++ de Uitvoerende Tak van de Registratie

Droevig, vanaf mijn e-mail voor een tijdje…. zijn geweest

Ja, kunt u RegSaveKeyEx en RegLoadKey gebruiken. Dat IS wat voorgenomen zijn zij voor, is het enkel dat het resultaat van RegSaveKeyEx niet in het formaat is dat u na in uw vraag was aangezien het oorspronkelijk werd verklaard.
Andere oplossingen  
 
programming4us programming4us