2010-12-20 6 views
1

OK mit so auf einem integrierten Start-Manager mit Kontrollkästchen ich arbeite, so weit das ist, was ich habe, tut es dies auf Form Last:Der Versuch, ein Startup-Manager zu erstellen .net 2.0

RegistryKey hklm = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); 
foreach (string Programs in hklm.GetValueNames()) 
{ 
    string GetValue = hklm.GetValue(Programs).ToString(); 
    ListViewItem item1 = listView1.Items.Add(Programs); 
    item1.SubItems.Add(hklm.Name.ToString().Replace("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion", "HKLM")); 
    item1.SubItems.Add(GetValue); 
} 

RegistryKey hkcu = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); 
foreach (string Programs in hkcu.GetValueNames()) 
{ 
    string GetValue = hkcu.GetValue(Programs).ToString(); 
    ListViewItem item2 = listView1.Items.Add(Programs); 
    item2.SubItems.Add(hkcu.Name.ToString().Replace("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion", "HKCU")); 
    item2.SubItems.Add(GetValue); 
} 

Ich weiß, es ist wahrscheinlich ein bisschen schlampig, aber es scheint zu funktionieren. Nun, was id gerne wissen ist, wenn ich Kontrollkästchen in der Listenansicht aktiviert habe ... wie kann ich es haben:

A: Überprüfen Sie diejenigen, die "aktiviert" sind/nicht diejenigen, die "deaktiviert sind " B: Machen Sie es so, wenn Sie einen" es aktivieren "aktivieren oder deaktivieren Sie einen es" deaktiviert "es?

ODER!

(bevorzugt) machen Sie ein Kontextmenü (Rechtsklick-Menü) zum Deaktivieren und Reaktivieren jedes Eintrags (und deaktivieren Sie es eine Unterschlüssel so etwas wie "Deaktiviert Start", dass es Schlüssel zu verschieben und sie aktivieren würde würde sie zurück in den vorherigen Schlüssel bewegen)

ich weiß zum Aktivieren/Deaktivieren können Sie einfach den Schlüssel auf einen anderen Unterschlüssel für die sichere Aufbewahrung bewegen, richtig? oder habe ich das alles falsch?

Antwort

0

Ich stimme dir zu. Und ich mache das, wenn ich du wäre. :)

Ich denke, Sie können diese deaktivierten Schlüssel entweder in einer Datei speichern, die in Ihrem App-Verzeichnis gespeichert ist. Sie wissen, wie INI-Datei. oder Sie können sie mit einem von Ihnen erstellten Schlüssel in der Registrierung speichern. Sie können sie also löschen, wenn Sie den Manager deinstallieren.

0

Nun die empfohlene Prozedur wäre so tatsächlich diese Einträge in Textdateien speichern. Ich schlage vor, dass Sie Isolated Storage verwenden und noch stärker, wenn Sie dies für ein Netzwerk erstellen möchten.

ich viel darüber weiß nicht, aber ich denke, Sie auch die Einträge in Dateien exportieren könnten (was auch IsolatedStorageFiles sein könnte) wie this Kerl scheint (für die „exportkey“ Methode sehen) getan zu haben und dann wieder importieren . Beachten Sie, dass Sie in diesem Fall immer noch über einen Mechanismus verfügen müssen, um sich die Einträge zu merken, damit Sie sie in der Listenansicht anzeigen können.

Bezüglich des Kontextmenüs denke ich this könnte sein, was Sie wollen, aber ich google es gerade und laufe Ubuntu, also kann ich es wirklich vorher nicht wirklich versuchen.

Verwandte Themen