Makale Özeti

Registery’de sistem üzerindeki hemen hemen tüm bilgileri tutabilecek durumdayız. Programlar için gerekli bilgileri tutmak için özellikle başvurulan ve en çok kullanılan metotlardan bir tanesidir.

Makale

VB.NET İle Registery Üzerinde Çalışma

  Registery’de sistem üzerindeki hemen hemen tüm bilgileri tutabilecek durumdayız. Programlar için gerekli bilgileri tutmak için özellikle başvurulan ve en çok kullanılan metotlardan bir tanesidir. Bir uygulamanın sistemde kullandığı bölümler, klasör ve dosya yapısı registery üzerinde tutulabilir. Aslında registery’nin çıkış amacı OLE nesneleri tutmak ve birbirleri ile iletişim sağlamak idi. Registery’de .NET ile birlikte kullanılan beş özelliği mevcuttur.   HKEY_CURRENT_USER: Oturum sahibi kullanıcının tüm ayar bilgilerinin tutulduğu bölümdür.
  HKEY_USERS: Bilgisayardaki tüm kullanıcı profillerini tutar. HKEY_CURRENT_USER’un alt tanımıdır.
  HKEY_CLASSES_ROOT: OLE ve Windows’un çalışma bilgileri tutulur.
  HKEY_LOCAL_MACHINE: Tüm kullanıcılar için gerekli olan ayarların tutulduğu bölümdür.
  HKEY_CURRENT_CONFIG: Bilgisayar başladığı andan itibaren geçerli donanım bilgilerini içerir.

  VB.NET projesi içerisinde registry üzerinde işlem gerekleştirmek için projenin referansından Mscorlib’i referans etmek gerekir.
  Ayrıca bu işlem için Microsoft.Win32 sınıfını Import etmek gerekir. Kullanılanacak kod satırı;

  Import Microsoft.Win32

  Bu kod satırını ekledikden sonra registry’den bilgileri okumak için RegistryKey sınıfından yararlanılır. Bu sınıfın okuma yapmak için yedi metodu mevcuttur.
  Okuma işlemi için kullanılabilir kod satırları;

     Dim regClasses As RegistryKey = Registry.ClassesRoot
     Dim regCurrConfig As RegistryKey = Registry.CurrentConfig
     Dim regCurrUser As RegistryKey = Registry.CurrentUser
     Dim regDynData As RegistryKey = Registry.DynData
     Dim regLocalMachine As RegistryKey = Registry.LocalMachine
     Dim regPerformanceData As RegistryKey = Registry.PerformanceData
     Dim regUsers As RegistryKey = Registry.Users

  Örneğin makine üzerinde Word programının kurulu olup olmadığını kontrol ettirelim. Bunun için ClassesRoot’u kullanmamız gerekli. ClassesRoot’un OpenSubKey metodunu kullanacağız. Kullanılması gereken kod satırı;

    Dim regClasses As RegistryKey = Registry.ClassesRoot
    Dim regWord As RegistryKey = regClasses.OpenSubKey("Word.Application")
    If regWord Is Nothing Then
          MsgBox("Word kurulu değil")
    Else
         MsgBox("Word kurulu")
    End If

  Makine üzerinde Word kurulu ise “Word kurulu” değil ise “Word kurulu değil” mesajını çıkaracaktır.

  Yeliz Korkmaz
  yelizkorkmaz@tnn.net