Bueno creo que la funcion se llama asi, esto me dice si ya hay una instancia del programa corriendo en caso de que se cumpla por lo general no abrimos otra, hasta que se cierre la que esta trabajando, pero en un Windows 2003 Server esto no me funka por el problema de las sessiones, yo corro mi programa en una session y cuando entro por el escritorio remoto abre otra instancia del programa, como me quiero este rollo...
Salu2
Hola,basta solo con cambiar de path de el ejecutable y ya la funcion es inutil...hay un modulo que posteo Cobein que impedia esto...igualmente probalo haber que tal...
saludos.
Cita de: seba123neo en 20 Enero 2009, 00:34 AM
Hola,basta solo con cambiar de path de el ejecutable y ya la funcion es inutil...hay un modulo que posteo Cobein que impedia esto...igualmente probalo haber que tal...
saludos.
fijate este code del API Guide, se supone que no importa que cambie el .exe :
'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
Dim hMutex As Long
'Try to create a new Mutex
hMutex = CreateMutex(ByVal 0&, 1, App.Title)
'Did the mutex already exist?
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
'Clean up
ReleaseMutex hMutex
CloseHandle hMutex
'More than one instance detected
MsgBox "No se puede ejecutar 2 veces lo mismo"
End
Else
MsgBox "Todo En Orden"
End If
End Sub
saludos
Busca un poco antes ;)
http://foro.elhacker.net/index.php/topic,165288.0.html