es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“Mutex ya está creado antes de crear la primera instancia.”

Tengo un programa que verifica si ya está en funcionamiento haciendo lo siguiente durante el arranque:

Mutex mutex = new Mutex(true, "Programname", out createdNew);
if (!createdNew)
{
MessageBox.Show("El programa ya está en ejecución.");
return;
}

Esto ha funcionado durante años. Ahora algunos clientes dicen que obtienen esto después de reiniciar Windows y ejecutar el programa por primera vez.

¿Microsoft cambió algo? ¿Hay algún defecto en este sistema?

EDITAR:
Resulta que esto era correcto, el usuario lo inició dos veces. El problema fue que tardó más de lo habitual durante el inicio y no mostró una ventana. Entonces el usuario lo inició de nuevo… ¿Debería eliminar la pregunta?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como se mencionó en la edición de la pregunta, resultó que no había ningún problema con el sistema de mutex, sino que el programa tardaba más de lo habitual en iniciarse y no mostraba una ventana. Esto llevó a algunos usuarios a creer que el programa no se había iniciado, lo que los llevó a lanzarlo de nuevo y provocar el mensaje de error de mutex.

    Por lo tanto, no hay ninguna indicación de que Microsoft haya realizado cambios que puedan afectar el funcionamiento del sistema de mutex en el fragmento de código proporcionado, y el sistema parece estar funcionando según lo previsto. El problema en este caso se debió al comportamiento del usuario en lugar de a una falla en el propio sistema.

    En base a esta información, no es necesario eliminar la pregunta, pero puede ser útil actualizarla con el contexto adicional proporcionado en la edición.

Comments are closed.