Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 14-09-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 23
weke Va por buen camino
Buenas!
En una aplicación necesitaba arrancar una serie de servicios antes de ejecutarla y matarlos al finalizarla.
Buscando en el foro encontre este código que pongo a continuación:
Código:
procedure TForm1.Button2Click(Sender: TObject);
begin
// el nombre que se le pasa a la función es el nombre del ejecutable que 
// se quiere matar
  matar_proceso('events.exe');
end;
 
function TForm1.matar_proceso(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;
De esta manera hice una aplicación con 2 botones, uno para arrancar los procesos y otro para matarlos. Muy sencillita.
Espero que con esto puedas hacer lo que buscas.

Saludos!!
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:25:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi