Ver Mensaje Individual
  #2  
Antiguo 22-04-2005
perrogrun perrogrun is offline
Miembro
 
Registrado: ene 2004
Ubicación: Fuengirola
Posts: 41
Reputación: 0
perrogrun Va por buen camino
Pues nada, solucionado a lo bestia, cuando quiero cerrar le corto la cabeza al programa.

Código:
uses 
  Tlhelp32; 

(...) 

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;
Fuente: http://www.pcmasmas.com.ar/viewtopic.php?t=11720
Responder Con Cita