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.
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.
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ı.
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ı