Visual Basic - Mutex en Visual Basic! Como los genero?

Life is soft - evento anual de software empresarial
 
Vista:

Mutex en Visual Basic! Como los genero?

Publicado por Oliver Kraft (25 intervenciones) el 07/02/2005 06:38:23
Holaaa a todos!! Yo de nuevo... tal vez me allan visto yamucho por aqui.. bue.. a lo que vengo.
Como puedo generar mutex en visual basic para evitar que una aplicacion se ejecute varias veces en la misma instancia.
He agregado este codigo sl evento Load
If App.PrevInstance Then 'This checks if webserver is allready started
MsgBox "El programa esta actualmente en ejecucion.", vbMsgBoxSetForeground + vbInformation
End if
Con esto logoro que la aplicacion no se ejecute mas de una vez al mismo tiempo, pero lo que quiero es que evite que otra copia de esa aplicacion tambien lo haga. Epero me alla dado a entender bien. Cualquier comentario es bienvenido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mutex en Visual Basic! Como los genero?

Publicado por Benjo (679 intervenciones) el 07/02/2005 11:17:39
Puede ser que este código te sirva?

'Codigo de 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
'Intenta Crear un nuevo Mutex
hMutex = CreateMutex(ByVal 0&, 1, App.Title)
'Detecta si el Mutex existe?
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
ReleaseMutex hMutex
CloseHandle hMutex
'Más de una nstancia detectada
MsgBox "más de una instancia de la aplicación"
End
Else
'Código del load form
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar