Merhaba,
Ben Registry de değer aramak istiyorum herhangi bir root dizininde,
yani; Regedit/düzen/bul'daki arama gibi.
Saygılar,
Dicle_Gsm
Registry'de değer arama ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Registry'de değer arama ?
Merhaba,
Ekteki Delphi 7 ile hazırlanmış örneği kullanabilirsiniz.
Kaynak:http://www.delphipages.com/forum/showth ... p?t=159429
Ekteki Delphi 7 ile hazırlanmış örneği kullanabilirsiniz.
Kaynak:http://www.delphipages.com/forum/showth ... p?t=159429
- Dosya ekleri
-
- RegSearch.rar
- (194.68 KiB) 51 kere indirildi
Re: Registry'de değer arama ?
Teşekür ederim, fakat bir kökteki bi kaç değeri 1 dakikadan daha fazla sürede arıyıp buluyor, bunu hızlandırma yolu yokmu ?ertank yazdı:Merhaba,
Ekteki Delphi 7 ile hazırlanmış örneği kullanabilirsiniz.
Kaynak:http://www.delphipages.com/forum/showth ... p?t=159429
Re: Registry'de değer arama ?
RegEdit ile aynı değeri aradığınızda ne kadar sürüyor?
Re: Registry'de değer arama ?
Max 5 saniyeertank yazdı:RegEdit ile aynı değeri aradığınızda ne kadar sürüyor?

Re: Registry'de değer arama ?
Dikkat etti iseniz aramanın nerelerde yapılacağını belirleyebiliyorsunuz. Eğer sadece KEY değerleri içinde arama yapak istiyorsanız
şeklindeki değerleri düzenlemeniz, sadece rcKeys kısmını bırakmanız gerekir.
Bunun dışında AnsiUppercase() veya AnsiLowerCase() fonksiyonlarını iptal edip birebir aradığınız ifadeyi yazarsanız bir miktar hız kazanabilirsiniz diye düşünüyorum.
Kod: Tümünü seç
FRegSearch.RegCompareKinds := [rcKeys, rcValues, rcData];
Bunun dışında AnsiUppercase() veya AnsiLowerCase() fonksiyonlarını iptal edip birebir aradığınız ifadeyi yazarsanız bir miktar hız kazanabilirsiniz diye düşünüyorum.
Re: Registry'de değer arama ?
Hızı birazda olsa hızlandı, Teşekürler ama Registry de hepsini o saniye bazında buluyor, Revo Uninstaller aracında farkettim daha hızlı aratıp buluyor
ilginiz için teşekürler.

ilginiz için teşekürler.
Re: Registry'de değer arama ?
Kod hız için optimize edilmiş bir kod değil. String karşılaştırmaları her bir değer için yapıyor. Bu tür karşılaştırmalar "if A = B" gibi yavaş olan işlemlerdir. Bunun yerine pointer kullanarak string kıyaslamaları yapılması, Pos() fonksiyonunun yerine daha hızlı çalışan fonksiyonlar (Belki PosEx()) kullanılması gerekli.
Bu tür değişklikler için kod elinizde mevcut. Üzerinde oynamalar yapabilirsiniz.
Bu tür değişklikler için kod elinizde mevcut. Üzerinde oynamalar yapabilirsiniz.