Ver Mensaje Individual
  #3  
Antiguo 08-12-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Reputación: 17
paldave Va por buen camino
Prueba con esta función:

Código Delphi [-]
function TOneInstance.IsRunning: Boolean;
const
  SSubClass = '.OneInstance.';
var
  Mutex: THandle;
  Flag: DWORD;
begin
  Result := False;
  if csDesigning in ComponentState then Exit;

  Result := True;
  Mutex := CreateMutex(nil, True,
    PChar(Application.Title + SSubClass + 'CriticalSection')); 
  if (GetLastError <> 0) or (Mutex = 0) then Exit;

  _OneInstanceMutex := CreateMutex(nil, False,
    PChar(Application.Title + SSubClass + 'Default'));
  Flag := WaitForSingleObject(_OneInstanceMutex, 0);
  Result := (Flag = WAIT_TIMEOUT);

  ReleaseMutex(Mutex);
  CloseHandle(Mutex);
end;

Llámala en el evento OnCreate del MainForm de tu aplicación, detectará si ya hay ejecutándose otra aplicación con el mismo título y te devolverá ese valor.
Suerte.
Responder Con Cita