![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Como hacer que solo pueda haber una sesion de la aplicacion
Pos eso, estoy haciendo una aplicacion y lo que me interesa es que cuando se ejectue solo deje una abierta a la vez, es decir si quiero arrancar la aplicacion por segunda vez, que no me deje hacerlo, un saludo.
|
|
#2
|
||||
|
||||
|
Hola novaten
Hay varias formas de solucionar ese problema, esta es la que más me ha gustado En el uses de la fuente de tu aplicación debes incluir Windows y poner algo así más o menos Código:
procedure No_Repetir_Applicacion;
var
hSemaphore: THandle;
begin
hSemaphore := CreateSemaphore(nil, 0, 1, 'My Aplication Name')
if (hSemaphore <> 0) and GetLastError = (ERROR_ALREADY_EXISTS) then
begin
{Aqui pones lo que quieres que haga antes de terminar
por ejemplo, mostrar un mensaje
o llamar la aplicación que se está ejecutando}
CloseHandle(hSemaphore);
Halt;
end;
end;
begin
No_Repetir_Applicacion;
Application.Initialize;
...
Application.Run;
end.
Koder
__________________
"First they ignore you. Then they laugh at you. Then they fight you. Then you win." Mohandas Gandhi |
|
#3
|
|||
|
|||
|
muchas asias, como la seda
![]() |
![]() |
|
|
|