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
|
||||
|
||||
Utilizando Semáforos
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
|
|
|
|