ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
C# ile REGEDİT/REGISTRY EKLE OKU SİL İŞLEMLERİ

      Bu yazimizda Windows un bütün bilgilerinin depolandigi yer olan Regedit (Registry) e veri giris ve çikis islemlerin nasil yapildigina göz atacagiz. Burada yapilacak degisiklikler çok önemli oldugu için bu islemleri denerken çok dikkatli olmanizi öneriyorum (Bilgisayarinizda sanal bilgisayar varsa orada denemenizi tavsiye ederim). Regedit e baslat\çalisir\regedit diyerek erisebiliriz. Simdi veri yazma, okuma, silme islemlerini inceleyelim.
 

REGEDIT'e VERI YAZDIRMAK

     Regedit e ilk olarak girdigimizde 5 ana baslik görecegiz. Windows bütün verileri bu 5 ana baslik altinda toparlamaktadir.

  • Classes Root
  • Current User
  • Local Machine
  • Users
  • Current Config

     Istersek bu ana 5 kategoriye direk olarak istersek de bunlarin altlarinda bulunan kategorilere veri ekleme islemi yapabiliriz. Ilk olarak bu 5 ana kategori üzerinden baslayalim, Suanki duruma bir göz attigimizda alttaki görüntü ile karsilasiyoruz.

regedit

 

Islemlere baslamadan önce C# projemizde üst kisima asagidaki referans kismini eklemeliyiz, aksi taktirde kodumuz çalismayacaktir
using Microsoft.Win32;  // !!!EKLEMEYI UNUTMA!!!

Mesela burdan Users basligina yeni veri ekleyelim.

Registry.Users.SetValue("Faruk",1991);

Kodu ile ismi Faruk ve degeri ise 1991 olan bi veri girisi yaptik, Suan regedit e tekrar göz attigimizda bu giris islemini görecegiz.

regedit

 

 

ALT KLASÖR EKLEME

Simdi de Users ana basligi altina FK isimli bir alt klasöt eklemesi yapalim
 

Registry.CurrentUser.CreateSubKey("FK");

regedit

 

 

ALT KLASÖRE VERI EKLEME

Simdi de ekledigimiz FK dizini altina yeni deger ekleyelim

Registry.CurrentUser.CreateSubKey("FK").SetValue("UNAL",312);

FK dizini altina Unal isminde bir veri ekledik ve deger olarak da 312 degerini atadik

regedit

 

 

ALT KLASÖR ALTINA ALT KLASÖR EKLEME

Ekledigimiz  klasör altina yeni bir klasör daha eklemek için yine CreateSubKey  metodunu kullaniyoruz. FK klasörünün altina yeni bir klasör daha olusturup ismini de Ankara yapmak için


Registry.CurrentUser.CreateSubKey("FK").CreateSubKey("Ankara");

regedit

 

 

REGEDIT den VERI OKUMAK

Programimiz içerisinde istersek daha önce regedit e yazdigimiz bir veri ile islem yapabilir yada istersek sistem kayitlarini okuyarak onlar üzerinde islemler yapabiliriz.

ANA BASLIKLARDAN VERI OKUMAK

Simdi ise biraz önceki ekledigimiz degerleri sira ile okuyalim, ilk olarak Users a ekledigimiz Faruk isimli degiskenin degerini okuyalim.

Registry.Users.GetValue("Faruk")

 

regedit

 

C# tarafinda ise su sekilde kullanabiliriz

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Win32; // !!!EKLEMEYI UNUTMA!!!

 

namespace WebRegedit

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            textBox1.Text = Registry.Users.GetValue("Faruk").ToString();

        }

    }

}

 

ALT KLASÖRDEN VERI OKUMAK

CurrentUser ana basligi altindaki FK alt klasörüne ekledigimiz UNAL isimli degiskenin degerini okumak için
Registry.CurrentUser.OpenSubKey("FK").GetValue("UNAL")

Seklinde kullanabiliriz.

 

regedit

 

C# tarafinda ise su sekilde kullanabiliriz

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Win32;  // !!!EKLEMEYI UNUTMA!!!

 

namespace WebRegedit

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

       textBox1.Text=Registry.CurrentUser.OpenSubKey("FK").GetValue("UNAL").ToString();

        }

    }

}

 

REGEDIT den VERI SILMEK

Silme islemi tehlikeli bir islemdir. Bu methot direk olarak regedit üzerinden veri kaldirma islemi yaptigi için sisteminize ciddi zararlar vermenize neden olabilir, o yuzden burada yapacaginiz islemlerde yazdiginiz kodlardaki dosya yollarina özen gösteriniz, aksi taktirde sisteminiz çökebilir.

  • DeleteValue(degisken_adi); komutu ile degisken_adi isimli veriyi ve degerini sileriz
  • DeleteSubKey(klasör_adi); komutu ile klasörü sileriz. Yalniz burada dikkat edilmesi gereken nokta eger klasör bos degilse silme islemi yapilmayacak hata alinacaktir
  • DeleteSubKeyTree(klasör_adi); komutu ise klasör bos da olsa dolu da olsa tamamen silme islemi yapar. Bu kodun kullaniminda 2kat daha dikkatli olmak gerekmektedir

   Simdi de ekledigimiz FK klasörünü alt klasörü Ankara ile birlikte silme islemi gerçeklestirelim.
Kayit Defterimizin suanki hali su sekilde

regedit

Simdi de silme kodumuzu çalistirip tekrar bakiyoruz

Registry.CurrentUser.DeleteSubKeyTree("FK");

regedit

 




Diğer Yazılarımdan Seçmeler...