Registry Problem
-
Wieso kann ich diesen scheiss Key nicht erstellen? Unter HKEY_CURRENT_USER\Software funktioniert es.
Nur in diesem dämlichen HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Geht es nicht, die Funktion gibt mir auch keinen Fehler zurück was mache ich hier falsch?
HKEY hKey = HKEY_LOCAL_MACHINE; LPCTSTR SubKey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\yyyy"; HKEY phkResult= &hKey; long dwRet = RegCreateKeyEx(hKey,SubKey,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&phkResult, NULL); if ( dwRet != ERROR_SUCCESS) { MessageBox(0,"Could not create registry value!","ERROR",0); }
-
Du hast keine Admin-Rechte.
Verwende ein UAC-Manifest und setze dies auf "requireAdministrator" (Siehe Projekteinstellungen).
-
Ich hab das Programm als Admin gestartet.
Unter HKEY_CURRENT_USER funktioniert es ohne Probleme.
Oder reicht rechtsklick als Administrator ausführen hier nicht?Das komische ist auch das ich nicht mal eine Fehlermeldung ausgeben bekomme ...
HKEY hKey; // HKEY_CURRENT_USER long dwRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,"SOFTWARE",0,KEY_READ,&hKey); if ( dwRet != ERROR_SUCCESS) { MessageBox(0,"Could not open registry key!","ERROR",0); } LPCTSTR SubKey = "SOFTWARE\\yyyy"; HKEY phkResult= &hKey; dwRet = RegCreateKeyEx(HKEY_LOCAL_MACHINE,SubKey,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&phkResult, NULL); if ( dwRet != ERROR_SUCCESS) { MessageBox(0,"Could not create registry value!","ERROR",0); }
-
Ja, toll mit einer Batch Datei geht es lol.
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\yyy"
Was ist an meinem Code falsch ?
-
Dein Programm ist 32-bit, dein Windows (und die reg.exe) 64-bit.
Unter HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\yyyy sollte es aber zu finden sein.Siehe http://msdn.microsoft.com/en-us/library/aa384232%28VS.85%29.aspx und http://msdn.microsoft.com/en-us/library/aa384129%28v=vs.85%29.aspx.
-
Danke jetzt funktioniert es, das war aber auch tükisch.^^