PDA

Ver la Versión Completa : Permitir la ejecucion de una Sola Aplicacion


lucianojdg
15-10-2004, 21:47:48
Gente, me gustaria saber si alguien conoce la forma de controlar que no se pueda ejecutar mas de una instancia de mi aplicacion... Y en el caso de que ya exista que la restaure...

Desde ya muchas gracias

taita
16-10-2004, 00:06:44
Buenas lucianojdg:

Yo hago una cosa media extraña que me pasaron hace algún tiempo. A pesar de eso me sigue funcionando perfectamente. Pruebalo...

Tienes que ponerlo en el OnCreate de tu Form Principal.


procedure TMainForm.FormCreate(Sender: TObject);
var Sem : THandle;
begin
Sem := CreateSemaphore(nil,0,1,'PROGRAM_NAME');
if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then
begin
CloseHandle( Sem );
ShowMessage('This program is already running.'+
'Este programa ya se está ejecutando...');
Halt;
end;
end;