C++ - RegCreateKeyEx Erfolg, aber ohne Ergebnis
Könnte mir jemand sagen, was falsch ist mit diesem code? Es gibt keine Fehler. Alles ERROR_SUCCESS zurückgibt, aber im register nicht sehen können, änderungen.
void Utils::writePath(LPCTSTR data)
{
HKEY hkey;
DWORD dwDisposition;
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,
TEXT("SOFTWARE\\aaTestCompany\\testApp"),
0, NULL, 0,
KEY_WRITE, NULL,
&hkey, &dwDisposition) == ERROR_SUCCESS)
{
long setRes = RegSetValueEx (hkey, "testPath", 0, REG_SZ, (LPBYTE)data, strlen(data)+1);
if (setRes == ERROR_SUCCESS) {
printf("Success writing to Registry.");
} else {
printf("Error writing to Registry.");
}
RegCloseKey(hkey);
}
else
MessageBox(NULL,"error","",0);
}
- Ist es eine 32-bit Anwendung auf einem 64-bit OS?
- Yup, dies ist die 32-bit-Anwendung auf 64-bit-OS. Ist es wichtig?
- LPCTSTR = Long-Zeiger auf einen Konstanten string -es ist eine freie FYI
- Siehe diese Frage.
- möglich, Duplikat der ich habe einen registry-key, aber ich kann es nicht finden programmgesteuert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die Anwendung 32-bit-auf ein 64-bit OS die registry-Schlüssel tatsächlich erstellt unter
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
.Sehen 32-bit-und 64-bit-Anwendung Daten in der Registry.
KEY_WOW64_64KEY
/KEY_WOW64_32KEY
Können Sie versuchen, mit den 5. und 6. Parameter wie REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS