uygulama sonlandırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
uince
Üye
Mesajlar: 38
Kayıt: 01 Mar 2004 04:57

uygulama sonlandırma

Mesaj gönderen uince »

Şuan da hazırlamaya çalıştığım bir programda çalışan uygulamaları sonlandırmak istiyorum. Windows Görev Yöneticisinin işlemler kısmında bulunan herhangi bir uygulamayı sonlandırmak istiyorum. Bunun için hangi metodu uygulamak daha mantıklı olur sizlerden bu konuda yardım almak istiyorum. WM_CLOSE haricinde bir yöntemle kapatmak istiyorum.Örneğin Windows Görev Yöneticisinde bulunan Winamp.exe dosyasını sonlardırmak istiyoruz.

Yardımcı olabilen ve olamayan bütün arkadaşlara teşekkür ediyorum
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

Merhaba,

Kod: Tümünü seç

//bu işlem için JEDI yüklü olmalıdır. yada JclSysInfo.pas..
uses ..., ..., JclSysInfo, ..., ...;
.
.
.
procedure Tform1.KillTask(H: HWND);
begin
   if H > 0 then
      begin
         //önce adam gibi kapan kardeşim diyoz.
         PostMessage(H, WM_CLOSE, 0, 0);
         //netice için bekliyelim..
         SleepEx(750);
         //kontrol ediyoruz. kapanmış mı?
         if (LowerCase(GetClassNameFromWnd(H)) <> 'cabinetwclass') And
            IsWindow(H) then
            begin
               //madem öyle, bizde öldürürüz.. 
               TerminateTask(H, 30);
               SleepEx(500);
            end;
      end;
end;

procedure TForm1.KillTasks(AllKill : Boolean = False);
var TS : TStringList;
    i  : integer;
begin
   //tabi bu örnek çalışan tüm uygulamlaarı kapatır.
   //ama pencerenin adını alarak kontrolü de kapatabilirsiniz..
   TS := TStringList.Create;
   GetTasksList(TS);
   for i := 0 to TS.Count - 1 do
       if (HWND(TS.Objects[i]) <> Application.Handle) Then
               KillTask(HWND(TS.Objects[i]));
   TS.Free;
end;
.
.
.
Saygılar..
Cevapla