Registry silme/ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Registry silme/ekleme

Mesaj gönderen haydarxxx »

Kod: Tümünü seç

var
AppExe :string;
Registry : TRegistry;
begin
   Registry := TRegistry.Create;
   try
    with Registry do
    begin
     RootKey := HKEY_CURRENT_USER;
     if OpenKey ('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true) then
     begin
      AppExe:=#34+Application.Exename+#34;
      WriteString('Projem', AppExe);
     end;
    end;
   finally
    Registry.Free;
   end;
end;

ile registery yazırıbiliyorum.Buradaki kodda hangi programının yani C nin D nin altında şunu çalıştır diyebiliriz.Çünkü bu doğrudan yapılan projeyi açıyor.

2.si tekrar bu registry silmek için nasıl bir kod kullanılıyor
En son haydarxxx tarafından 24 Nis 2018 05:47 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Registry silme/ekleme

Mesaj gönderen ertank »

Merhaba,

USB sürücüler ile ilgili konulardan bir tanesi de her kullanımda aynı sürücü harfini kullanmıyor olabilirler.

Şöyle bir örnek vermek gerekir ise;
- Kullanıcı önce sizin temin ettiğini USB belleği bilgisayarına taktı ve misal D sürücü harfi olarak kullandı.
- Kullanıcı daha sonra siden temin ettiği USB belleği çıkardı.
- Kullanıcı bilgisayarının yedeğini almak veya başka bir işlem için farklı bir USB harici sürücüyü bilgisayarına taktı ve bu sürücü de D sürücü harfini kullandı.
- Kullanıcı USB harici sürücüyü bilgisayarından çıkarmadan sizden temin ettiği USB belleği bilgisayara takat ise E, F gibi bir sürücü harfi olabilir.

Bu durumda sizin yapmaya çalıştığınız işlem boşa gitmiş olacaktır.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: Registry silme/ekleme

Mesaj gönderen haydarxxx »

Hocam yanlış başlık altına yazdınız galiba...
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Registry silme/ekleme

Mesaj gönderen ertank »

haydarxxx yazdı: 24 Nis 2018 05:39 Hocam yanlış başlık altına yazdınız galiba...
- Registry key "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" ilgili kullanıcı login olduğu zaman bir uygulamayı otomatik olarak çalıştırmak için kullanılır.
- Sizin yapmak istediğinizi ben bir USB sürücüsü içindeki dosyayı çalıştırmak şeklinde anlıyorum.

Yapmaya çalıştığınız şey yukarıdaki gibi ise cevabımı yeniden okumanızda fayda var. Kodu yazıp uygulamayı dağıttıktan sonra "çalışmıyor" şeklinde sorun bildirimleri almanız olası.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: Registry silme/ekleme

Mesaj gönderen haydarxxx »

Hocam o kök dizin önemli değil örneğin C:\Programfiles\Projem gibi
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Re: Registry silme/ekleme

Mesaj gönderen haydarxxx »

Dediğinizde haklısınız.O durum olduğunda bir kodla program aranabilir.Bu durum sabit C yada D Sürücüsü için
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: Registry silme/ekleme

Mesaj gönderen nodetail »

Arkadaşlar selam

Kod: Tümünü seç

 degerxxx:=TRegistry.Create;
 degerxxx.RootKey:=HKEY_LOCAL_MACHINE;
 degerxxx.Access := KEY_WOW64_64KEY or KEY_ALL_ACCESS;
 degerxxx.OpenKey('SOFTWARE\WOW6432Node\AGY Kimlik',True);
 degerxxx.WriteString('Version', '1.0.9.9');
 degerxxx.CloseKey;
 degerxxx.Free;
ve

Kod: Tümünü seç

   Registry := TRegistry.Create;
   try
    with Registry do
    begin
     RootKey := HKEY_LOCAL_MACHINE;
     Access := KEY_WOW64_64KEY or KEY_ALL_ACCESS;
     if OpenKey ('SOFTWARE\WOW6432Node\AGY Kimlik', true) then
     begin
       WriteString('Version99', '2222');
     end;
    end;
   finally
    Registry.Free;
   end;
bu şekilde registry'e veri yazmaya çalışıyorum ama program 32 bit olduğundan çalışmıyor yönetici olarak çalıştırdığımda her iki kod da çalışıyor. UAC.manifest ile de yapmaya çalıştım ama sonuç değişmedi maalesef, destek olabilecek arkadaş var mı
Cevapla