Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Mutex Global (https://www.clubdelphi.com/foros/showthread.php?t=84873)

gluglu 18-12-2013 17:48:36

Mutex Global
 
Hola de nuevo !!

Cómo se crea un Mutex a nivel Global, es decir, para todos los usuarios o sesiones creadas en un mismo equipo ??

Es decir, cómo impido que un programa se ejecute una segunda vez en un mismo servidor, o en equipos con sesiones remotas ??

He estado investigando y supuestamente se debería solucionar poniendo delante la palabra 'Global\' antes de un Mutex creado. Pero por más que lo intento, en una segunda sesión de usuario en un mismo equipo, siempre me sigue permitiendo abrir una segunda instancia.

Además, en mi caso particular, se debe igualmente limitar una segunda instancia del programa incluso cuando la primera instancia está corriendo como Servicio.

Muchas gracias por vuestra ayuda !

Saludos ;)

WkaymQ48 19-12-2013 00:58:54

Una forma de hacerlo es utilizar un fichero en vez de un mutex. Me explico, la primera instancia abre el fichero de forma exclusiva y lo mantiene abierto mientras se ejecuta, las siguientes instancias al intentar hacer lo mismo se van a encontrar con que se les deniega el acceso y sabrán que ya hay otra aplicación abierta. El fichero debe tener una ruta que sea accesible por todos los usuarios.

Rápido y sencillo :)

gluglu 19-12-2013 20:22:01

Al final parece que lo de \Global sí que funciona !! No entiendo qué ocurrió ayer para que no funcionase !

Gracias !


La franja horaria es GMT +2. Ahora son las 02:42:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi