Muy buenas.

Estaba pasando el rato con mi Visual Studio como de costumbre, y pensé en cómo se podría controlar el Mutex de una aplicación.

Es decir, hacer que una aplicación que se puede ejecutar infinitas veces a la vez (por ejemplo el notepad.exe) sea restringido y solo pueda ejecutarse una instancia simultáneamente. O bien hacer que en una aplicación que de por si viene restringida con un mutex (tipo Skype, que solo deja abrir una instancia), se pueda eliminar dicho mutex para poder abrir más instancias de ella.

Por ahora solo he conseguido poder ocupar el mutex de una aplicación para que directamente no se pueda abrir ninguna vez xD

Así:

Código: Seleccionar todo

Dim mtx As Mutex
mtx = New Mutex(False, "MutexDelProgramaEnCuestion")
Pero ahora no se cómo podría hacer para lo contrario, es decir, poder manipular ese mutex para poder abrir tantas instancias como yo quiera.

A alguien se le ha ocurrido cómo hacer esto alguna vez? xD

Gracias y un saludo a tod@s!
mmmm parece un poco complicado lo que pedis jajaj. Tene en cuenta que el mutex esta hardcodeado en el programa lo mas sencillo seria editar con ensamblador la parte donde crea el mutex (en vb.net no encuentro la llamada al kernel32 :S)
Hmmm, pero si yo conozco el mutex del programa, no podría modificarlo en tiempo real, en memoria mientras se ejecuta para no tener que editar el .exe?
Busque e intente encontrar pero en ningun lado se especifica como modificar un mutex :S. De hecho es lo primero que se me vino a la mente, el tema es que hay que encontrar donde se almacena
Yo para poder abrir dos instancias de un juego que tiene mutex abro primero uno, abro el procexplorer, selecciono el proceso y cierro el siguiente 'handle'
Imagen
Responder

Volver a “VB/.NET”