Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   esta ejecutandose una aplicacion en NT? (https://www.clubdelphi.com/foros/showthread.php?t=17538)

jmbarrio 12-01-2005 17:58:11

esta ejecutandose una aplicacion en NT?
 
Hola a tod@s, estoy intentando hacer una aplicacion que este escaneando cada cierto tiempo si esta ejecutandose otra aplicacion distinta en mi PC, y en caso de que no lo este la llame.
He empleado el truco de detectar todas las aplicaciones que se estan ejecutando en windos pero en mi caso no me sirve ya que estoy empleando
windows NT y en este caso el truco no sirve.

Alguien podría echarme una mano, muchas gracias por las molestias.

Un saludo.

Coco 12-01-2005 18:11:14

prueba con esto, yo lo utilice en NT, 2000, 9x sin problemas.

//Busco si hay una aplicacion
HandleApp := FindWindow('TForm1',nil);
//el nil es por el titulo de la ventana por si quieres
//identificar mas aun la aplicacion
Application.Initialize;
if (HandleApp=0)
then
//no hay una instancia ejecutando
else
//Esta ejecutandose una instancia


Saludos

jmbarrio 12-01-2005 18:25:35

RE: Coco
 
Yo quiero saber si se me esta ejecutando un programa llamado chat.exe

a que equivale el TForm1 en la solucion que me has dado?

Coco 12-01-2005 18:43:43

perdon, entendi que querias saber si tu aplicacion estaba ejecutandose.:confused:

Aqui va otro ej, sacado de Trucomania, donde puedes saber si un exe esta ejecutandose pero necesitas saber el path donde se encuentra el mismo.

procedure TForm1.Button1Click(Sender: TObject);

function EstaEjecutandose (ExeFile:string): boolean;
var H:word;
begin
H:=CreateFile(PChar(ExeFile), GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
Result := (H >= 65535);
CloseHandle(H);
end;
begin
if EstaEjecutandose ('c:\windows\notepad.exe')
then Label1.Caption:='SI/YES'
else Label1.Caption:='NO';
end;

Espero que te sirva. Saludos

jmbarrio 13-01-2005 10:25:52

Re:coco
 
Muchas gracias por las molestias , ahora voy a probar si me funciona.

Un saludo.

jmbarrio 13-01-2005 10:49:04

Re:coco
 
Lo he probado y no me ha funcionado el valor que me devuelve H es el mismo
si tengo el .exe ejecutandose o no.

Un saludo.


La franja horaria es GMT +2. Ahora son las 13:45:32.

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