Ver Mensaje Individual
  #10  
Antiguo 28-08-2018
charyperez charyperez is offline
Registrado
NULL
 
Registrado: dic 2012
Posts: 2
Reputación: 0
charyperez Va por buen camino
Saber si una aplicación se está ejecutando

Buenos dias,

Soy nueva en el foro, pero llevo tiempo consultándolo.
He probado la solución que dais y me funciona perfectamente, pero mi problema es que yo tengo que ver si se está ejecutando, si es así, matar ese proceso y ejecutar el actual.
Para matar el proceso uso la llamada a un bat y lo mata, pero supongo que mata todos los procesos con el mismo nombre, porque ya no continua con el Application.Initialize.

Os pongo el código que tengo para ver si me podeis ayudar.


Const
NombreMutex='Mabisy';
Var
MiMutex:THandle;


begin



Mimutex:=CreateMutex(Nil,True,NombreMutex);

If MiMutex=0 Then
Begin
Showmessage('Error creando Mutex');
Halt;
End;
If GetLastError=ERROR_ALREADY_EXISTS Then
Begin
ShowMessage('El programa YA está funcionando.');
ShellExecute(0,nil,PChar('C:\delphi\Matarproceso.bat'),'','',SW_HIDE);
End;

Application.Initialize;

Application.CreateForm(TdmMBYControl, dmMBYControl);



El código del bat es simplemente :

taskkill /Im Proceso.exe

Gracias
Responder Con Cita