Lenguaje simple Si se da cuenta de que solo se puede ejecutar un programa, ¡la ventana principal aparecerá automáticamente cuando lo ejecute nuevamente!
Comando dll utilizado
.Versión 2
Comando .DLL CreateMutex, entero, "kernel32.dll", "CreateMutexA"
.Parameter Estructura Mutex, SECURITY_ATTRIBUTES
.El parámetro tiene elementos estáticos, tipo lógico
.DLL comando WaitForSingleObject, entero, "WaitForSingleObject"
.Parameter hHandle , entero
.Parámetro dwMillisegundos, entero
.DLL comando ReleaseMutex, entero, "kernel32.dll", "ReleaseMutex"
.Parámetro hMutex, entero< / p>
.Comando DLL CloseHandle, lógica, "CloseHandle"
.Parámetro hObject, tipo entero
'Tipo de datos utilizado
.Versión 2
. Tipo de datos SECURITY_ATTRIBUTES, estructura de seguridad
.Member nLength, entero
. Miembro lpSecurityDescriptor, entero
. Miembro bInheritHandle, Integer
'Determina si la subrutina se ha ejecutado repetidamente, donde el argumento es la cadena de función que desea crear, como "Mi programa".
.Versión 2
.Subrutina system_disable_repeat_run, lógica, devuelve verdadero si se ha ejecutado, en caso contrario devuelve falso
. Parámetro Cadena de característica, tipo de texto
. Identificador de variable local, entero
Variable local security_structure, SECURITY_ATTRIBUTES
Handle = CreateMutex (security_structure, true, feature_string) '. feature_string se utiliza para determinar si existe un mutex
. Si es verdadero (WaitForSingleObject (identificador, 100) = 258)
ReleaseMutex (identificador)
CloseHandle (identificador)
Devolución (verdadero)
. Si es verdadero, finaliza
Devuelve (falso).