Un lugar de encuentro para los programadores de habla hispana

Un lugar de encuentro para los programadores de habla hispana

Buscar

Entrar

Puedes acceder utilizando tu cuenta de usuario del foro.

Si no dispone de cuenta, puede crear una accediendo al formulario de registro del foro.



Cómo detectar si nuestra aplicación está ejecutándose Imprimir
Ideas - C++ Builder

Unas de las muchas formas, de detectar si nuestra aplicación ya esta funcionando, y por lo tanto evitar dobles arranques, es utilizando un semáforo binario, llamado mutex, que se crea con la función CreateMutex. Para que Windows reconozca el semáforo hay que asignarle un nombre:
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  if (CreateMutex(NULL, false, "Nombre del Semaforo") !=0 &&
     GetLastError() == ERROR_ALREADY_EXISTS)
    ShowMessage("Ya existe");
    Application->Terminate();
  else
    ShowMessage("No existe");
}
 
 
Esta función la he colocado en el Evento del Formulario principal, pero lo lógico es que este en la función principal (WinMain).
Comentarios (0)
Para escribir un comentario debes estar registrado