Zabijanie procesu

harrie

Użytkownik
Dołączył
Kwiecień 15, 2007
Posty
19
Mam następujący kod:
Kod:
var

 PHandle, FHandle : THandle;

 Process : TProcessEntry32;

 Done, Next : Boolean;

 EXE : String;

begin

   EXE := Edit.Text;

FHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

 Process.dwSize := Sizeof(Process);

 Next := Process32First(FHandle,Process);

  while Next do

  begin

 if AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(EXE) then

begin

PHandle:=OpenProcess(PROCESS_TERMINATE, False,

Process.th32ProcessID);

Done := TerminateProcess(PHandle,0);

if not Done then

MessageBox(Handle, 'Błąd', 'Błąd', MB_OK);

end;

Next := Process32Next(FHandle,Process);

end;

CloseHandle(FHandle);

end;

Chodzi o to że on zabija proces TYLKO po nazwie. Czy dało by się go przerobić by zabijał po ścieżce? (ścieżka w edit)
 

harrie

Użytkownik
Dołączył
Kwiecień 15, 2007
Posty
19
mam ścieżkę w edit ale nie zabija mi procesu

@up
to samo

@edit
działa !!!
thx błąd był z jednym sleszem:)
 

TSPablos

Użytkownik
Dołączył
Wrzesień 5, 2007
Posty
44
Nie będę zakładał nowego tematu, gdyż chodzi mi o ten sam kod.

Kod:
[...]begin

PHandle:=OpenProcess(PROCESS_TERMINATE, False,

Process.th32ProcessID);

Done := TerminateProcess(PHandle,0);

MessageBox(Handle, 'zabito proces', 'zabito proces', MB_OK);

if not Done then

MessageBox(Handle, 'Błąd', 'Błąd', MB_OK);

end;

Next := Process32Next(FHandle,Process);

end;

CloseHandle(FHandle);

end; [...]

String: Next zmieniłem na inną nazwe bo nie chodziło na tej. Wszystko ładnie działa, zabija mi procesy, pokazuje okno, że proces został zabity, jednak nie wyświetla okna o błędzie, kiedy wprowadzę niepoprawną nazwę procesu. Co jest granne?
 

akselekbezelek

Użytkownik
Dołączył
Czerwiec 4, 2007
Posty
334
Originally posted by TSPablos
Nie będę zakładał nowego tematu, gdyż chodzi mi o ten sam kod.

Kod:
[...]begin

PHandle:=OpenProcess(PROCESS_TERMINATE, False,

Process.th32ProcessID);

Done := TerminateProcess(PHandle,0);

MessageBox(Handle, 'zabito proces', 'zabito proces', MB_OK);

if not Done then

MessageBox(Handle, 'Błąd', 'Błąd', MB_OK);

end;

Next := Process32Next(FHandle,Process);

end;

CloseHandle(FHandle);

end; [...]

String: Next zmieniłem na inną nazwe bo nie chodziło na tej. Wszystko ładnie działa, zabija mi procesy, pokazuje okno, że proces został zabity, jednak nie wyświetla okna o błędzie, kiedy wprowadzę niepoprawną nazwę procesu. Co jest granne?
jezeli to sie kroi kolejny trojan to usun messageboxy
smile.gif
 

TSPablos

Użytkownik
Dołączył
Wrzesień 5, 2007
Posty
44
messageboxy czy coś innego.... bez różnicy, wartość między
Kod:
if not Done then

TYM!!!!

end;

nie zostaje zwrócona, kiedy zamiast IF NOT wstawiam ELSE, to wartość
zostaje zwracana ale nieskończenie wiele razy, a mi wystarczy raz
smile.gif

I niekoniecznie musi to być trojan
<
 
Do góry Bottom