delphide çalışan exeyi nasıl kapatabilirim.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
delphide çalışan exeyi nasıl kapatabilirim.
Delphide çalışan bir baska prog. kapatma imkanım varmı acaba. Hepinize kolay gelsin.
Var
processkiller diye bir program vardı onu incelersen kodunda vardır. program delphi ile yazılmış ve free bir programdır
processkiller diye bir program vardı onu incelersen kodunda vardır. program delphi ile yazılmış ve free bir programdır
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kod: Tümünü seç
function KillApp(const sCapt: PChar) : boolean;
var AppHandle:THandle;
begin
AppHandle:=FindWindow(Nil, sCapt) ;
Result:=PostMessage(AppHandle, WM_QUIT, 0, 0) ;
end;
Kod: Tümünü seç
uses
Windows, TlHelp32, SysUtils;
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.szExeFile)) =
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;//KillTask
- tanerileri
- Üye
- Mesajlar: 55
- Kayıt: 06 Tem 2007 11:30
benim kullandığım 2 prosedür var.
ikincisi zaten yukarda verilmiş ama , yanında yazdığım not için ekledim buraya.
procedure ProgramKapat(Pencere: string);
const
PROCESS_TERMINATE = $0001;
var
Hnd: THandle;
No: Integer;
OPencere: HWND;
begin
OPencere := FindWindow(nil, Pchar(Pencere));
GetWindowThreadProcessID(OPencere, @No);
Hnd := OpenProcess(PROCESS_TERMINATE, FALSE, No);
TerminateProcess(Hnd, 4);
end;
procedure KillApp(const sCapt: PChar); // ProgramKapatla aynı ama , Trayde varsa, onuda tazeliyor.
var AppHandle: THandle;
begin
AppHandle := FindWindow(nil, sCapt);
PostMessage(AppHandle, WM_DESTROY, 0, 0);
end;
procedure ProgramKapat(Pencere: string);
const
PROCESS_TERMINATE = $0001;
var
Hnd: THandle;
No: Integer;
OPencere: HWND;
begin
OPencere := FindWindow(nil, Pchar(Pencere));
GetWindowThreadProcessID(OPencere, @No);
Hnd := OpenProcess(PROCESS_TERMINATE, FALSE, No);
TerminateProcess(Hnd, 4);
end;
procedure KillApp(const sCapt: PChar); // ProgramKapatla aynı ama , Trayde varsa, onuda tazeliyor.
var AppHandle: THandle;
begin
AppHandle := FindWindow(nil, sCapt);
PostMessage(AppHandle, WM_DESTROY, 0, 0);
end;
bu kod 98 ve xp arasında farklı çalışıyordu benim projemde... xp için özellikle dikkat derim.ulu coder yazdı:Kolay gelsin..Kod: Tümünü seç
uses Windows, TlHelp32, SysUtils; 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.szExeFile)) = 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;//KillTask
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog