Visual Basic - Ejecutar aplicacion

Life is soft - evento anual de software empresarial
 
Vista:

Ejecutar aplicacion

Publicado por Armando (49 intervenciones) el 29/07/2003 18:06:38
Hola, tengo una aplicacion realizada en visual basic y quisiera saber como detectar cuando ejecuto la aplicacion ya ha sido habierta o no. Esto es porque no quiero tener dos copias de la aplicacion ejecutandose al mismo tiempo. Graciasss
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:Ejecutar aplicacion

Publicado por Pedro Luis (878 intervenciones) el 29/07/2003 18:33:32
Usa App.Previnstance, en la ayuda encontrarás toda la información necesaria
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

RE:Ejecutar aplicacion

Publicado por Cecilia Colalongo (3116 intervenciones) el 29/07/2003 18:34:47
Lo puedes hacer con las API FindWindow y FindWindowEx, cuentas la cantidad de ventanas y si es mayor que dos entonces estás corriendo la aplicación más de una vez.

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
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

RE:Ejecutar aplicacion

Publicado por maCo (322 intervenciones) el 30/07/2003 02:27:41
yo no te recomendaria findwindow para ventanas en vb.
por que ?
porque las ventanas de vb tienen el mismo nombre clase, asi que no puedes saber si es la tuya o no.

yo te recomendaria, crear un mutex y verificar el resultado del mutex.
tambien un espacio de memoria corpartida aka archivo de memoria mapeados (mmf)

aunque vb tiene app.previnstance, que es lo mas rapido, pero no se como lo haga internamente
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