Çalışan Programı Kapatma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
emrahkaraarslan
Üye
Mesajlar: 243
Kayıt: 21 Haz 2005 12:28
Konum: Trabzon

Çalışan Programı Kapatma

Mesaj gönderen emrahkaraarslan »

Merhaba, bir program çalışıyor mesela emule bunu çalıştırma işlemini kodla yaptım, yalnız nasıl kapatma işlemini yapacağımı bulamadım, yani belli bir saatte kapatmak istiyorum, bunun için hangi kodu kullanabilirim bilgilendirirseniz sevinirim, teşekkürler.
Allah'ım bana değiştirebileceklerimi değiştirme değiştiremeyeceklerimi kabullenme ve aradaki farkı anlayabilme yeteneği ver
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Task listesine ulaşıp terminate edebilirsin.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Mrb; viewtopic.php?t=18465&highlight= bağlantısnı incele. Sana sadece WM_CLOSE mesajını o programa göndermek kalıyor. İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
emrahkaraarslan
Üye
Mesajlar: 243
Kayıt: 21 Haz 2005 12:28
Konum: Trabzon

Mesaj gönderen emrahkaraarslan »

inceledim yalnız emule için nasıl uyarlayacağımı bulamadım yardımcı olursanız sevinirim.
Allah'ım bana değiştirebileceklerimi değiştirme değiştiremeyeceklerimi kabullenme ve aradaki farkı anlayabilme yeteneği ver
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Emule'nin CLASS'ının adı #32770'dir. Bu sınıf sadece EMULE'ye özgü değildir. Başka programlar da vardır. Örneğin "Outlook Express"

- Benzer sınıf ismi olanlar içinden Emule'ninkini bulmak için aslında CLASSNAME'in yanında "Window Title"ını da bilmen lazım gerekir. :idea:

- EMULE'nin bir sürü çeşidi olmasından dolayı sabit bir pencere başlığı / ismi de yoktur. :!:

- Ben de senin için hepsinin başlığında ortak olarak bulunacak kelime EMULE olacağına göre, bir kolaylık sağlayım deyip döngü içerisinde açık programların başlıklarında, içeriğinde emule olanları bulup kapat şeklinde bir kurgu hazırladım. Kendine göre çeşitli çözümler üretebilirsin. :idea:

- Unutuyordum, EMULE'nin ayarlarında "Kapatılırken Sor" olayını kapatman lazım. Uyarı veren pencere gelir. KillProcess de yapabiliriz ama sağlıklı olmaz. Download'ların vs. zarar görmesini istemeyiz :wink:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var
  hEmule : THandle;
  Title,
  ClassName : array[0..255] of char;
begin
  hEmule := Application.Handle;
  while hEmule > 0 do
  begin
    GetWindowText(hEmule, Title    ,255);
    GetClassName (hEmule, ClassName,255);
    If (ClassName = '#32770') AND ( Pos('EMULE', UpperCase(Title) ) > 0 ) then begin
      SendMessage(hEmule, WM_CLOSE, 0, 0);
    end;
    hEmule := GetnextWindow(hEmule, GW_HWNDNEXT);
  end; // While
end;
- Afiyet olsun... 8)
Resim
Resim ....Resim
Kullanıcı avatarı
emrahkaraarslan
Üye
Mesajlar: 243
Kayıt: 21 Haz 2005 12:28
Konum: Trabzon

Mesaj gönderen emrahkaraarslan »

@mrmarman çok çok teşekkürler, elinize sağlık.

düzenleme: Bir şey daha sormak istiyorum. Peki ben aynı işlemi cfosspeed ve utorrent için nasıl yapabilirim, yani bunların class ları nedir, en önemlisi bunları herhangi bir program için nasıl öğrenebilirim.
Allah'ım bana değiştirebileceklerimi değiştirme değiştiremeyeceklerimi kabullenme ve aradaki farkı anlayabilme yeteneği ver
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Ek soruyu geç gördüm...

- Delphi ile birlikte gelen WinSight diye bir program var, sistemde o an çalışan tüm programların ağaç dalı şeklinde bu istediğimiz bilgilerini alma imkanı var.
Resim
Resim ....Resim
Kullanıcı avatarı
emrahkaraarslan
Üye
Mesajlar: 243
Kayıt: 21 Haz 2005 12:28
Konum: Trabzon

Mesaj gönderen emrahkaraarslan »

teşekkürler
Allah'ım bana değiştirebileceklerimi değiştirme değiştiremeyeceklerimi kabullenme ve aradaki farkı anlayabilme yeteneği ver
Cevapla