<br><br><div class="gmail_quote">El 17 de septiembre de 2010 02:15, Salvador Pozo <span dir="ltr"><<a href="mailto:salvador@conclase.net">salvador@conclase.net</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hola de nuevo.<br>
<br>
Aquí te dejo una solución mejor, que no usa ficheros.<br>
<br>
----8<------<br>
HANDLE hMutex;<br>
char msg[120];<br>
<br>
hMutex = CreateMutex(<br>
NULL, // sin descriptor de seguridad<br>
FALSE, // sin propietario del mutex<br>
"Aplicación X"); // nombre del objeto<br>
<br>
if (hMutex == NULL) {<br>
sprintf(msg, "Error al crear Mutex: %d", GetLastError());<br>
MessageBox(NULL, msg, "Aplicación X", MB_OK);<br>
return 0;<br>
} else<br>
if (GetLastError() == ERROR_ALREADY_EXISTS) {<br>
MessageBox(NULL, "La aplicación ya se está ejecutando", "Aplicación X", MB_OK);<br>
return 0;<br>
}<br>
----8<------<br>
<br>
Y nada más. Cuando la aplicación termina, sea como sea, el mutex se destruye.<br>
<div><div></div><div class="h5"><br>
Hasta pronto.<br>
<br></div></div></blockquote><div><br>Amigo eres grande <br><br> </div></div>