2016-05-01 8 views
0

Mein Ziel ist es, meine Anwendung beim Start ausgeführt werden.Schreiben ausführen (beim Start) Registrierungsschlüssel

Mein Problem ist meine Anwendung schreibt nicht in Regedit 'Run'.

Ich habe diesen Code

RegistryKey rWrite = Registry.CurrentUser.OpenSubKey(@"HKey_Current_User\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 

und ich glaube, was dies zu tun annehmen wird, ist meine Bewerbung schreiben

HKey_Current_User\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\run 

Doch dies ist nicht alles zu regedit schreiben.

Dinge zu beachten:

zwingt Meine Anwendung den Benutzer in Administrator ausführen. Es prüft im Wesentlichen, wenn sie in Administrator ran und wenn sie es nicht zeigt ein messagebox dann das Programm mit

Environment.Exit(0); 
+0

Haben Sie tatsächlich "schreiben"? Du hast den Schlüssel, aber hast du es geschrieben? –

+0

Da Berechtigungsprobleme scheinbar ausgeschlossen sind, ist dies höchstwahrscheinlich auf die Registrierungsvirtualisierung zurückzuführen, bei der Ihr 32-Bit-Prozess an einen anderen Ort schreibt, als Sie auf einem 64-Bit-System erwarten. Wenn dies der Fall ist, sollte diese Frage als ein Duplikat von http://stackoverflow.com/questions/10533421/accessing-64-bit-registry-from-32-bit-application geschlossen werden. –

Antwort

4

Du hast den Schlüssel mit Schreibzugriff schließt (Wahrscheinlich gibt es nicht, weil Sie Current innerhalb Current bekam) , aber Sie setzen keine Werte hinein. Wenn Sie möchten, dass Ihr Programm gestartet wird, müssen Sie Ihren Anwendungspfad innerhalb festlegen. Hier ist, wie Sie es tun würden:

var rWrite = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 

rWrite.SetValue("YourOwnKeyForYourApp", 
        AppDomain.CurrentDomain.BaseDirectory + AppDomain.CurrentDomain.FriendlyName); 
+0

RegistryKey ist kein Typ, der nicht gültig ist im gegebenen Kontext, – conjure

+0

Oh ja, mein Schlechter. Ich habe es in 'YourOwnKeyForYourApp' geändert, das eine Zeichenkette sein sollte. Sie können eine beliebige Zeichenfolge als Schlüssel für Ihre App dort schreiben. –

Verwandte Themen