bilgisayardaki programlar

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

bilgisayardaki programlar

Mesaj gönderen calvan »

s.a

bilgisayarda kurulu olan programların listesini veren bir program yazmak istiyorum, daha önce bu konuyla ilgilenen oldu mu acaba? nereye bakmak lazım fikri olan varsa paylaşabilirse sevinirim.

tşk
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: bilgisayardaki programlar

Mesaj gönderen CiTiZEN »

eğer ekle/kaldırdan bakmak gibi bir durum işine yararsa registry anahtarları mevcut ordan bakarak yaparsın
UWESIS CORPORATION
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

Re: bilgisayardaki programlar

Mesaj gönderen calvan »

kurulu programların listesini listbox a atmak istiyorum, amacım client/server bir uygulama yapıp clientlardaki kurulu programları listeleme, değişiklikleri tespit etmek

muhtemelen registery den bakılmalı ama nereye bakacağım hususunda fikrim yok :((

tşk
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: bilgisayardaki programlar

Mesaj gönderen CiTiZEN »

Registry den kayıtları almak için bakman gereken anahtar:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\UnInstall

Burda bütün programları bulabilirsin ama şu noktaya dikkat etmen gerekmekte buraya program eğer isterse kaldırma noktasını atar yani buraya kaldırma noktasını atmayan programlar olabilir.
Regedit uygulamalarından da bu bilgileri bir listbox a aktarmakla ilgili kodlar bulabilirsin formda biraz araştır olmazsa yine yazarsın

Kolay Gelsin.
UWESIS CORPORATION
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

Re: bilgisayardaki programlar

Mesaj gönderen calvan »

teşekkürler
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

Re: bilgisayardaki programlar

Mesaj gönderen calvan »

s.a

registery den okuya biliyorum

Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion',False) , bu kalsördeki keylere erişebiliyorum ama döngü içinde, regeditteki uninstall ın altındaki kayıtlara ulaşmayı başaramadım

yani

...uninstall
......delphi 2007 ( bunun kendi alt keyleri var, onlara ulaşabiliyorum)
......vb.net ( bunun kendi alt keyleri var, onlara ulaşabiliyorum)
......vb.2008 ( bunun kendi alt keyleri var, onlara ulaşabiliyorum)
.
.
.
şeklindeki regeditteki sol taraftaki başlıkları tespit edip tümünü tarayabilmem lazım

Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\UnInstall\',False) bu şekilde yazınca istediğimi yapamıyorum, uninstall ın sonuna ne yazılacağını nasıl tespit edebilirim

Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\UnInstall\delphi 2007',False)
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\UnInstall\vb 2008',False) benzeri kod üretmek lazım
.
.


tşk.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: bilgisayardaki programlar

Mesaj gönderen CiTiZEN »

şöyleki:
Bir listbox yardımı ile UnInstall altındakileri alabilirsin

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var reg:tregistry;
SubValue:String;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
SubValue:='Software\Microsoft\Windows\CurrentVersion\UnInstall';
reg.OpenKey(SubValue,False);
reg.GetKeyNames(ListBox1.Items);
end;
Daha sonrada tıkladığın programın değerlerini alırsın:

Kod: Tümünü seç

procedure TForm1.ListBox1Click(Sender: TObject);
var reg:tregistry;
SubValue:String;
i:integer;
begin
i:=ListBox1.ItemIndex;
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
SubValue:='Software\Microsoft\Windows\CurrentVersion\UnInstall\'+ListBox1.Items[i];
reg.OpenKey(SubValue,False);
reg.GetValueNames(ListBox2.Items);
end;
ben burda değerleri ikinci bir listbox a aktardım ama içeriklerin görevleri nerdeyse sabittir örneğin:

Kod: Tümünü seç

DisplayIcon: UnInstalerin Iconudur
DisplayName: Programın ismi,
NoModify: Programın düzenlenebilirlik özelliğidir, 1 ise düzenlenebilir 0 ise sadece kaldırılır hani bir programa geldiğinde bazen düzenle/kaldır bazense sadece kaldır yazar onun gibi diğerleride hemen hemen aynıdır.
---------------------------
UnInstallString ise programın kaldırıcısıdır yani yapacağın UnInstall string içindeki yolu alıp o yoldaki programı çalıştırmaktır
Kolay Gelsin
UWESIS CORPORATION
visali
Üye
Mesajlar: 1
Kayıt: 29 Ara 2010 01:44

Re: bilgisayardaki programlar

Mesaj gönderen visali »

arkadaşlar ben bilgisayarda kurulu herhangi bir programı aynı denetim masası program kaldırma işlemi gibi sistemden kommple kaldırma programı yapmak istiyorum

bu benim delphi ödev konum yardımcı olursanız sevinirim...........
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: bilgisayardaki programlar

Mesaj gönderen mkysoft »

yine aynı yerne programın hangi dosya çağrılarak kaldırılacağı yazıyor. regeditten bakıp programı çağırabilirsiniz.
Jandar
Üye
Mesajlar: 2
Kayıt: 17 Kas 2013 11:16

Re: bilgisayardaki programlar

Mesaj gönderen Jandar »

Selam...
Arkadaşlar Ben Ctrl+Alt+Del Tuşlarına basıp Windows Görev Yöneticisi bölümündeki İşlemler kısmıda herhangi bir programı kaldırmak istetiğim zaman o programı tıklayıp İşlemi Sonlandır dediğimde o programı kapatıyor...
Bu işlemi Delğphi Programında ne şekilde programlayabilirim. Bir Butona basınca Listbox dan seçmiş olduğum çalışır programı kapatmak istiyorum.. Yardımcı olan arkadaşlara Şimdiden Teşekkürler....
Cevapla