Zamknięcie procesu

0

Dlaczego poniższa funkcja zamyka tylko niektóre procesy???

function KillProc(const ClassName:AnsiString):Boolean;
var hWnd,hProc:THandle;
pid:integer;
begin
Result:=False;
hWnd := FindWindow(PCHAR(ClassName),nil);
if IsWindow(hWnd) then
begin
GetWindowThreadProcessId(hWnd, @pid);
hproc := OpenProcess(PROCESS_TERMINATE, False, pid);
if hproc0 then
begin
Result:=TerminateProcess(hProc,0);
if Result then CloseHandle(hProc);
end;
end;
end;

Notepada naprzykład zabija bez problemu ale już Tlena czy ALLPlayera nie chce zamykać. Nie mogę dojść dlaczego. Moze ktos pomoże.

Jeśli to juzgdzieś bylo to sorki ale nie mogę tego nigdzie znaleźć.

[glowa]

0

A zna kopś może inną funkcję albo procedurkę do zamykania wybranego procesu w systemie po wskazaniu jego nazwy?

[glowa]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.