Quantcast iYiblogcu | Windows 7, Windows 7 Kurulum, Windows 7 indir
FIRSAT ÜRÜNLERİ 15 Saniye sonra otomatik olarak kapanacaktır [ REKLAMI KAPAT ]
Ana Sayfa » Windows XP

Kayıt Defteri Kontrolü ile Çökmelerin Engellenmesi

Kayıt Defteri veritabanından anahtar kontrolü yaptığınız Visual Basic Script’leri hazırlıyorsunuz. Ancak istenen anahtarlardan biri bulunamadığı zaman script, bir çalışma hatası vererek çöküyor ve hazırladığınız script’lerin artık bu şekilde çökmelerini istemiyorsunuz.

İstediğiniz görevi yerine getiren işlevi kendiniz geliştirmeli ve programınıza entegre etmelisiniz.VBScript, “FileSystem” nesnesinin “FileExists()” yöntemi gibi bir Kayıt Defteri anahtarına okumak üzere erişmeden önce varlığını kontrol edecek bir ifadeye sahip değildir.Bu nedenle hazırladığınız script’in sonuna aşağıdaki

“RegKeyExist()” fonksiyonunun kaynak kodunu eklemelisiniz:

Function RegKeyExist (szRegKey)

Dim objWshShell

Dim szValue

On error Resume Next

Set objWshShell = CreateObject

(“WScript.Shell”)

szValue = objWshShell.RegRead

(szRegKey)

If err.number <> 0 Then

RegKeyExist = False

Else

RegKeyExist = True

End If

Set objWshShell = nothing

End Function

Fonksiyonun Kayıt Defteri içerisinde olup olmadığını kontrol edeceği anahtarı “szRegKey” parametresi kullanılarak veriliyor. Kontrol sonucunda “True” (anahtar mevcut) veya “False” (anahtar mevcut değil) bilgisi geri döndürülüyor. Bu işlevi kendi programınıza şu şekilde ekleyebilirsiniz:

 Dim objShell

Dim szRegValue

Const constRegKey = “HKEY_

CURRENT_USERSoftwareKadirdeneme”

Set objShell = CreateObject

(“WScript.Shell”)

If RegKeyExist (constRegKey)

Then

Sz RegValue = objShell.RegHead

(constRegKey)

Else

MsgBox “Anahtar” &

constRegKey & “bulunamad›!”

WScript.Quit

End If

MsgBox “Aşağıdaki değer okunacaktı:” & szRegValue

“RegKeyExist()” fonksiyonu şöyle işliyor:  İlk olarak Kayıt Defteri veritabanına ulaşmak için “WScript.Shell” tipinde “objWshShell” nesnesi oluşturuluyor. Fonksiyon bir sonraki adımda “szValue = objWshShell.RegRead (szRegKey)” satırı ile “szRegKey” parametresi ile gönderilen anahtarı okuyor.Ardından hata nesnesi “err” içerisinde saklanan rakamın “0”’a eşit olup olmadığını kontrol ediyor.Bu durumda daha önce çalıştırılan komut bir hata geri döndürmüş ve aranan anahtar Kayıt Defteri veritabanı içerisinde bulunamamış demektir.Bunun sonucunda “RegKeyExist = False” satırı çalıştırılır ve “False” bilgisi geri döndürülür.Aksi takdirde “True” bilgisi geri döndürülecektir.

! Dikkat: Fonksiyonun başında “On Error Resume Next” satırını kullanarak Windows’un bir hata ile karşılaşması durumunda bir sonraki satırı çalıştırmasını sağlamalısınız.Aksi takdirde yine varolmayan bir anahtara erişilmek istendiğinde çalışma zamanı hatası alırsınız.

Bu yazı 20 Ara 2008 tarihinde Windows XP kategorisi altında yazar iYiblogcu tarafından oluşturulmuş. Bu yazıya yapılacak yorumlardan haberdar olmak için RSS 2.0 beslemesini kullanabilirsiniz. Yorum yapabilirsiniz, veya kendi sitenizden geri izleme yapabilirsiniz. Yorumlar için yorum rss, tüm yazılar için Yazı rss bağlantılarını kullanabilirsiniz. İletişim için Patron'u ziyaret edin.

20 Aralık 2008 91 Gösterim Yorum Yapılmamış

Yorum ekleyin veya yorumları okuyun!

Siz, Bu etiketleri kullanabilirsiniz :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>