Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cerrar aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=19617)

unko! 19-03-2005 23:02:07

cerrar aplicacion
 
olas, miren, yo quiero hacer ke desde mi aplicacion se pudiera cerrar otra aplicacion (notepad, msn, word...) con solo presionar un boton... ya cheke el codigo de trucomania pero cuando lo meto y lo ejecuto me da un monton de errores.... alguien sabe otra forma de hacer esto??

Neftali [Germán.Estévez] 21-03-2005 11:35:09

Cita:

Empezado por unko!
...yo quiero hacer ke desde mi aplicacion se pudiera cerrar otra aplicacion (notepad, msn, word...) con solo presionar un boton... ya cheke el codigo de trucomania pero cuando lo meto y lo ejecuto me da un monton de errores

Normalmente los códigos que se encuentran en trucomanía están probados, eso me hace pensar que los errores que te salen no sean debidos al código propiamente.
Por favor, coloca el código que te está dando error (si no lo vemos difícilmente podremos ayudarte) y describe los errores con un poco más de detalle (el mensaje no estaría mal...:D).

A parte de ésto si revisas la sección de trucos de ésta página encontrarás uno llamado: Cerrar una aplicacion pasandole el titulo de la ventana (386) que tal vez te sirva.
supongo que no te has molestado en buscar en los foros, ya que si simplemente escribes en la ventana de búsqueda las dos palabras que usas como título de tu mensaje encontrarás varios mensajes con el mismo problema (y en los que ya se incluyen soluciones).

unko! 21-03-2005 19:40:34

en truco ke cheke es el de "cerrar la aplicacion sabiendo el nombre del exe" ya lo cheke y le movi unas cosillas y ya corrio... aki lo dejo:

Código:

****en uses de tu form escribe TLHelp32******

procedure
TForm1.Button1Click(Sender: TObject);

 function KillTask(FileName:String):integer;
 var
    ContinueLoop:BOOL;
    FSnapshotHandle:THandle;
    FProcessEntry32:TProcessEntry32;
 const
    PROCESS_TERMINATE=$0001;
 begin
    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(FileName))
            or (UpperCase(FProcessEntry32.szExeFile)=UpperCase(FileName)))
 then

 Result:=Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),

                                    FProcessEntry32.th32ProcessID),0));
          ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
    end;
    CloseHandle(FSnapshotHandle);
 end;


 begin
  KillTask('Notepad.exe');
 end;


[Gunman] 17-06-2006 12:02:59

a mi no me funciona...

Neftali [Germán.Estévez] 19-06-2006 09:41:20

...¿Y si damos algun detalle más?
P.D: A mi me funciona perfectamente.

mguixot 07-07-2006 13:41:43

Hola,

estoy implementando el código anterior y no me funciona.
El error mostrado es
Cita:

'Undeclared identifier: TProcessEntry32'.
No se si debo incluir alguna unidad (unit) externa.
Utilizo Delphi 7 Profesional.

Saludos

seoane 07-07-2006 13:46:32

Si lees con atención el código veras que que en la primera linea pone

Cita:

****en uses de tu form escribe TLHelp32******

Bicho 07-07-2006 13:47:23

Has añadido la unit TLHelp32??? Lo pone en la primera linea en comentario del truco

Bicho 07-07-2006 13:47:58

Upss se me adelantó... :p

mguixot 07-07-2006 13:51:42

Gracias a todos, lo estaba implementando directamente de este foro y no de la pagina de trucomania, por eso no lo encontraba.
Al final Google, me llevo a trucomania y a la solución.

Saludos


La franja horaria es GMT +2. Ahora son las 14:35:53.

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