2010-08-12 19 views
5

Estoy trabajando en la aplicación VB6, que está conectada a la base de datos de MS Access, por lo que no quiero permitir que el usuario abra varias instancias de mi aplicación, ya que esto creará conflictos & alter conectado base de datos. Además, si el usuario intenta abrir otra instancia, la instancia que se está ejecutando actualmente debe estar enfocada. ¿Cómo puedo lograr esto? Gracias de antemano .......... :-)Impedir la apertura de múltiples instancias de la aplicación VB

+0

El plazo que necesita es "la aplicación de instancia única". – ChrisF

Respuesta

6

Uso App.PrevInstance:

'this code would be in a bas module for start up.' 
Private Sub main() 
    'Check for previous instance and exit if found.' 

    Dim rc As Long 

    If App.PrevInstance Then 
     rc = MsgBox("Application is already running", vbCritical, App.Title) 
     Exit Sub 
    Else 
     frmMain.Show 
    End If 

End Sub 
+0

Gracias, eso funcionó perfectamente, ¿hay alguna forma de establecer el foco en la instancia actual en lugar de mostrar el mensaje de error ...? – Kushal

+0

Sí, use el método 'AppActivate': pase lo que esté en la barra de título de su aplicación. – MusiGenesis

Cuestiones relacionadas