Delphi Can
Görev yöneticisinden program sonlandırma - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Görev yöneticisinden program sonlandırma (/showthread.php?tid=1402)

Sayfalar: 1 2


Görev yöneticisinden program sonlandırma - tgural - 10-10-2017

Arkadaşlar merhabalar, bir buton aracılığı ile görev yöneticisinden belirttiğim uygulamayı kapatmak istiyorum bu konuda yardımlarınızı rica ediyorum.


Görev yöneticisinden program sonlandırma - SimaWB - 10-10-2017

"belirttiğim uygulamayı" -> Uygulamayı nasıl belirteceksiniz? Yani EXE ismine göre mi, PID'ye göre mi yoksa pencerenin handle'ına göre mi uygulama sonlandırılacak?


Cvp: Görev yöneticisinden program sonlandırma - Halil Han BADEM - 10-10-2017

Merhabalar hocam, internette böyle bir kaynağa rastladım işinizi görecektir.

function KillTask(ExeFileName: string): integer;
const 
PROCESS_TERMINATE=$0001; 
var 
ContinueLoop: BOOL;
FSnapshotHandle: THandle; 
FProcessEntry32: TProcessEntry32;
begin 
result := 0; 

FSnapshotHandle := CreateToolhelp32Snapshot 
(TH32CS_SNAPPROCESS, 0); 
FProcessEntry32.dwSize := Sizeof(FProcessEntry32); 
ContinueLoop := Process32First(FSnapshotHandle, 
FProcessEntry32); 

while integer(ContinueLoop) <> 0 do 
begin 
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) = 
UpperCase(ExeFileName)) 
or (UpperCase(FProcessEntry32.szExeFile) = 
UpperCase(ExeFileName))) then 
Result := Integer(TerminateProcess(OpenProcess( 
PROCESS_TERMINATE, BOOL(0), 
FProcessEntry32.th32ProcessID), 0)); 
ContinueLoop := Process32Next(FSnapshotHandle, 
FProcessEntry32); 
end; 

CloseHandle(FSnapshotHandle); 
end;
Kullanımı
killtask('calısan.exe');

 Kaynak


Saygılarımla,
Iyi çalışmalar.


Görev yöneticisinden program sonlandırma - SimaWB - 10-10-2017

Aslında; "kill process" şeklinde aratırsanız bir çok hazır örnek bulabilirsiniz.


Cvp: Görev yöneticisinden program sonlandırma - Halil Han BADEM - 10-10-2017

(10-10-2017, Saat: 09:13)SimaWB Adlı Kullanıcıdan Alıntı: Aslında; "kill process" şeklinde aratırsanız bir çok hazır örnek bulabilirsiniz.

Zamanlamamiz mükemmel hocam  Big Grin


Cvp: Görev yöneticisinden program sonlandırma - tgural - 10-10-2017

(10-10-2017, Saat: 09:12)SimaWB Adlı Kullanıcıdan Alıntı: "belirttiğim uygulamayı" -> Uygulamayı nasıl belirteceksiniz? Yani EXE ismine göre mi, PID'ye göre mi yoksa pencerenin handle'ına göre mi uygulama sonlandırılacak?

exe ismine göre sonlandırmayı düşünüyordum hocam.

(10-10-2017, Saat: 09:13)hyperxman Adlı Kullanıcıdan Alıntı: Merhabalar hocam, internette böyle bir kaynağa rastladım işinizi görecektir.

function KillTask(ExeFileName: string): integer;
const 
PROCESS_TERMINATE=$0001; 
var 
ContinueLoop: BOOL;
FSnapshotHandle: THandle; 
FProcessEntry32: TProcessEntry32;
begin 
result := 0; 

FSnapshotHandle := CreateToolhelp32Snapshot 
(TH32CS_SNAPPROCESS, 0); 
FProcessEntry32.dwSize := Sizeof(FProcessEntry32); 
ContinueLoop := Process32First(FSnapshotHandle, 
FProcessEntry32); 

while integer(ContinueLoop) <> 0 do 
begin 
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) = 
UpperCase(ExeFileName)) 
or (UpperCase(FProcessEntry32.szExeFile) = 
UpperCase(ExeFileName))) then 
Result := Integer(TerminateProcess(OpenProcess( 
PROCESS_TERMINATE, BOOL(0), 
FProcessEntry32.th32ProcessID), 0)); 
ContinueLoop := Process32Next(FSnapshotHandle, 
FProcessEntry32); 
end; 

CloseHandle(FSnapshotHandle); 
end;
Kullanımı
killtask('calısan.exe');

 Kaynak


Saygılarımla,
Iyi çalışmalar.

Bir kilo altından daha değerli bir bilgi resmen Smile  Çok teşekkürler..


Cvp: Görev yöneticisinden program sonlandırma - yhackup - 10-10-2017

Exe sonlandırmak için Bu yeterli boşuna kod karmaşasına girmenize gerek yok,
TASKKILL /F /IM iexplore.exe



Cvp: Görev yöneticisinden program sonlandırma - tgural - 10-10-2017

(10-10-2017, Saat: 13:35)yhackup Adlı Kullanıcıdan Alıntı: Exe sonlandırmak için Bu yeterli boşuna kod karmaşasına girmenize gerek yok,
TASKKILL /F /IM iexplore.exe

Delphi ile bu kodu nasıl çalıştırabiliriz peki? Bende önce bat dosyası oluşturup winexec komutu ile bat dosyasını çalıştırıyordum ancak ekranda çıkan konsol pencereleri biraz can sıkıcı bu yüzden direk sonlandırmak istedim.


Cvp: Görev yöneticisinden program sonlandırma - Halil Han BADEM - 10-10-2017

(10-10-2017, Saat: 14:26)tgural Adlı Kullanıcıdan Alıntı:
(10-10-2017, Saat: 13:35)yhackup Adlı Kullanıcıdan Alıntı: Exe sonlandırmak için Bu yeterli boşuna kod karmaşasına girmenize gerek yok,
TASKKILL /F /IM iexplore.exe

Delphi ile bu kodu nasıl çalıştırabiliriz peki? Bende önce bat dosyası oluşturup winexec komutu ile bat dosyasını çalıştırıyordum ancak ekranda çıkan konsol pencereleri biraz can sıkıcı bu yüzden direk sonlandırmak istedim.

Sw_hide komutu ile gizleyebilirsiniz  Smile


Cvp: Görev yöneticisinden program sonlandırma - savasabd - 10-10-2017

(10-10-2017, Saat: 14:26)tgural Adlı Kullanıcıdan Alıntı:
(10-10-2017, Saat: 13:35)yhackup Adlı Kullanıcıdan Alıntı: Exe sonlandırmak için Bu yeterli boşuna kod karmaşasına girmenize gerek yok,
TASKKILL /F /IM iexplore.exe

Delphi ile bu kodu nasıl çalıştırabiliriz peki? Bende önce bat dosyası oluşturup winexec komutu ile bat dosyasını çalıştırıyordum ancak ekranda çıkan konsol pencereleri biraz can sıkıcı bu yüzden direk sonlandırmak istedim.

   uses ShellApi;

ShellExecute(0, 'open', 'cmd.exe', '/k TASKKILL /F /IM iexplore.exe', nil, SW_HIDE) ;
şeklinde kullanabilirsiniz.