vb prohíbe múltiples aperturas de programas
'El siguiente es el efecto que desea. El suyo y el mío tienen el mismo principio. La única diferencia es la detección de memoria interna y externa. El estándar es crear este cuerpo mutex, copie el código y pruébelo. /p >
¿Privado?¿Declarar?Función?CrearMutex?Lib?"kernel32"?Alias? ¿"CreateMutexA"?(lpMutexAttributes?As?SECURITY_ATTRIBUTES,?ByVal?bInitialOwner?As?Long,?ByVal?lpName?As?String)?As?Long
¿Privado?Tipo?SECURITY_ATTRIBUTES
nLongitud?As?Long
lpSecurityDescriptor?As?Long
bHeredarHandle?As?Long
Fin?Tipo
¿Privado? Const?ERROR_ALREADY_EXISTS?=?183&
Private?Sub?Form_Load()
Dim?sa?As?bInheritHandle?=?1
sa.lpSecurityDescriptor? =?0
sa.nLength?=?Len(sa)
Llamar a CreateMutex(sa,?1,?App.Title)
Si? Err.LastDllError?=?ERROR_ALREADY_EXISTS)?Entonces
MsgBox?"¡El programa no se puede abrir más de una vez!"
¿Descargar?Yo
¿Fin?Si
¿Fin?Sub