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.^^


Anmelden zum Antworten