![]() |
![]() |
![]() |
![]() |
![]() |
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
![]() |
![]() |
|
|
![]() |
|