Γράψτε, διαβάστε… διαγράψτε στην registry windows με c#!

0

θα εξηγήσουμε πώς μπορούμε να γράψουμε,να διαβάσουμε και να σβήσουμε από/στήν registry των windows μέσω από την γλώσσα προγραμματισμού c#.ΝΕΤ και vb.net. Το παρακάτω πρόγραμμα δημιουργεί κλειδιά και καταχωρεί τιμές, στην registry, τις ανακτά από αυτήν και έπειτα τις διαγράφει. Επισημάνουμε ότι πρέπει να είστε προσεκτικοί στην διαγραφή κλειδιών από την registry, σε δικά σας προγράμματα, αφου αυτό μπορεί να επιρεάσει την συμπεριφορά των windows

Συμπεριλάβετε την παρακάτω γραμμή κώδικα στην αρχή του κώδικα σας,μαζί με τις άλλες βιβλιοθήκες που χρησιμοποιείτε

using Microsoft.Win32;

Τοποθετήστε τις παρακάτω συναρτήσεις στην βασική τάξη (class) της εφαρμογής σας.

private void Form1_Load(object sender, EventArgs e)

{

write_to_registry();
read_from_registry();

delete_my_registry();

}

private void write_to_registry()

{

try

{
//
Άνοιξε την κατηγορία HKEY_LOCAL_MACHINE\SOFTWARE της REGISTRY των windows

RegistryKey rk = Registry.LocalMachine.OpenSubKey(“SOFTWARE”, true);

//Δημιούργησε κλειδί με όνομα My testing

rk = rk.CreateSubKey(“My testing”);

//Δημιούργησε μεταβλητές key1,key2,key3 με τιμές 10,20,”alpha” αντίστοιχα

rk.SetValue(“key1″,10 );
rk.SetValue(“key2″, 20);
rk.SetValue(“key3″, “alpha”);

rk.Close();

}

catch (Exception io) //Σε περίπτωση που τα παραπάνω δέν γίνουν εμφάνισε σχετικό μήνυμα σφάλματος

{

MessageBox.Show(null, io.Message, Σφάλμα, MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

private void read_from_registry()

{

int tm1 = 0, tm2 = 0;
string tm3 = “”;

try {

//Άνοιξε την κατηγορία HKEY_LOCAL_MACHINE\SOFTWARE της REGISTRY των windows

RegistryKey rk = Registry.LocalMachine.OpenSubKey(“SOFTWARE”, true);

//και έπειτα άνοιξε την υποκατηγορία “My testing” (αν υπάρχει)

rk = rk.OpenSubKey(“My testing”);

//διάβασε τις τιμές των μεταβλητών και κάνε την αντίστοιχη μετατροπή (casting)

tm1= (int) rk.GetValue(“key1″);

tm2 = (int)rk.GetValue(“key2″);

tm3 = (string) rk.GetValue(“key3″);

//Εμφάνισε τα αποτελέσματα

MessageBox.Show(“key1=” + tm1.ToString() + key2=” + tm2.ToString() + key3=” + tm3);

}

catch (Exception io) //Σε περίπτωση που τα παραπάνω δέν γίνουν εμφάνισε σχετικό μήνυμα σφάλματος

{

MessageBox.Show(null, io.Message, Σφάλμα, MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

private void delete_my_registry() {

try

{

//Άνοιξε την κατηγορία HKEY_LOCAL_MACHINE\SOFTWARE της REGISTRY των windows

RegistryKey rk = Registry.LocalMachine.OpenSubKey(“SOFTWARE”, true);

//Διέγραψε το κλειδί “My testing” (αν υπάρχει)

rk.DeleteSubKeyTree(“My testing”);

rk.Close();

MessageBox.Show(“Τα δοκιμαστικά κλειδιά διαγράφηκαν”);

}

catch (Exception io) //Σε περίπτωση που τα παραπάνω δέν γίνουν εμφάνισε σχετικό μήνυμα σφάλματος

{

MessageBox.Show(null, io.Message, Σφάλμα, MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

Blog Widget by LinkWithin

Γράψε ένα σχόλιο

© 2012 DigitalNews. All rights reserved.