Registry
-
Ich hatte vor, bei meinem prog Sachen in der Registry zu speichern.
Ich kann auch Sachen im Pfad Current User abspeichern, aber wenn ich im pfad
Local System speichern will, (ich will mein prog in den autorun schreiben) dann macht der nix...
Hier der Codeausschnitt:#include "stdafx.h" #include <Windows.h> #include <WinReg.h> #include <iostream> using namespace std; using namespace System; using namespace Microsoft::Win32; int main(){ ... ... ... RegistryKey^ rk; rk = Registry::CurrentUser->OpenSubKey("Software\\NewRegKey", true); if (!rk) { Console::WriteLine("Failed to open CurrentUser/Software key"); return -1; } RegistryKey^ nk = rk->CreateSubKey("NewRegKey"); if (!nk) { Console::WriteLine("Failed to create 'NewRegKey'"); return -1; } String^ newValue = "NewValue"; try { rk->SetValue("NewKey3", newValue); rk->SetValue("NewKey4", 44); } catch (Exception^) { Console::WriteLine("Failed to set new values in 'NewRegKey'"); return -1; } }
Ich hoffe, ihr könnt mir helfen.
(Falls ich falsch gepostet habe, dann bitte verschieben)
-
Moin, moin,
mal ohne Worte, einfach nur ein Code Beispiel...
RegistryKey^ reg; RegistryKey^ key; reg = Registry::CurrentUser->OpenSubKey("Software", true); key = reg->CreateSubKey("Mein Programm"); key->SetValue("Hamburg","15.05.2012");
Gruß
Doug_HH
-
Danke, ich werds probieren.
-
Ok, ich hab den Code probiert und er funzt ,
aber ich kann immer noch nicht in diesen Pfad schreiben:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run/
(Es kommt ne Meldung, dass ich nicht berechtigt sei. )
Dann öffne ich die .exe aus dem Debug Ordner mit admin-rechten.
Kein Output, Meldung, Absturz, etc. Aber es geht nicht.Der angeforderte Registrierungszugriff ist unzulässig.
Was mache ich falsch
Hier noch mal der veränderte Code:... RegistryKey^ reg; RegistryKey^ key; // Is das richtig so() es macht keinen Fehler...) reg = Registry::/* => */LocalMachine /* <= */->OpenSubKey("Software", true); key = reg->CreateSubKey("Mein Programm"); key->SetValue("Hamburg","15.05.2012"); ...
-
Kann man Dateien in den Autorun auch mit diesem Pfad speichern:
HKEY_CURRENT_USER/Sowtware/Microsoft/Windows/Current_Version/Run/ ?
Schon, oder (Bei mir sind da schon solche sachen drin)
-
Ja, klar...
-
Ok, jetzt funzts , danke.
-
Was hattest Du falsch gemacht?
-
Ich musste aus dem hier:
//Keys definieren
RegistryKey^ reg;
RegistryKey^ key;key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run");
Das hier machen:
key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run" , true);
So sieht der Code aus:
#include "stdafx.h" using namespace Microsoft::Win32; //Für Registry-Eintrag ... //Keys definieren RegistryKey^ reg; RegistryKey^ key; //Pfad öffnen reg = Registry::CurrentUser->OpenSubKey("Software", true); //Pfad erweitern key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run" , true); //Unterschlüssel erstellen //key = reg->CreateSubKey("Mein Programm"); //Wert setzen key->SetValue("Mein Programm","blablabla"); ...
P.S. Das Ganze is nicht für nen Virus xD