Compartir a través de


My.Application.StartupNextInstance (Evento)

Actualización: noviembre 2007

Se produce al intentar iniciar una aplicación de instancia única cuando ya está activa.

' Usage
Public Sub Me_StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
End Sub
' Declaration
Public Event StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
)

Parámetros

  • sender
    Object que provocó el evento.

  • e
    Objeto StartupEventArgs que contiene los argumentos de la línea de comandos de la aplicación.

Comentarios

Una aplicación de instancia única provoca el evento StartupNextInstance cuando se intenta reiniciar una aplicación que ya está activa. Cuando una aplicación de instancia única se inicia por primera vez, provoca el evento Startup. Para obtener más información, vea My.Application.Startup (Evento) y Cómo: Especificar el comportamiento de las instancias para una aplicación (Visual Basic).

Este evento forma parte del modelo de aplicación de Visual Basic. Para obtener más información, vea Información general sobre el modelo de aplicaciones de Visual Basic.

Este evento se produce en el subproceso principal de la aplicación junto con los otros eventos de la interfaz de usuario. Esto permite al controlador de eventos tener acceso directamente a la interfaz de usuario de la aplicación. Sin embargo, si la aplicación está ocupada con otro evento de la interfaz de usuario al provocar el evento, éste no se puede procesar hasta que el otro controlador de eventos finalice o llame al método My.Application.DoEvents (Método).

Nota:

El evento StartupNextInstance sólo se provoca en aplicaciones de instancia única. Para habilitar el comportamiento de instancia única en una aplicación, debe activar la casilla Convertir aplicación de instancia única en el Diseñador de proyectos. Para obtener más información, vea Cómo: Especificar el comportamiento de las instancias para una aplicación (Visual Basic).

Debe utilizar la propiedad CommandLine del parámetro e para tener acceso a los argumentos en los intentos siguientes de iniciar una aplicación de instancia única. My.Application.CommandLineArgs (Propiedad) proporciona los argumentos que se utilizan para iniciar la primera instancia de una aplicación de instancia única.

El código del controlador de eventos StartupNextInstance se almacena en el archivo ApplicationEvents.vb, que está oculto de manera predeterminada.

Para tener acceso a la ventana del editor de código para los eventos de aplicación

  1. Con un proyecto seleccionado en el Explorador de soluciones, en el menú Proyecto haga clic en Propiedades.

  2. Haga clic en la ficha Aplicación.

  3. Haga clic en el botón Ver eventos de aplicaciones para abrir el editor de código.

    Para obtener más información, consulte Cómo: Controlar eventos de aplicaciones (Visual Basic).

Tareas

En la tabla siguiente se muestran ejemplos de tareas en las que interviene el evento My.Application.StartupNextInstance.

Para

Vea

Utilizar los eventos proporcionados por el modelo de aplicación de Visual Basic para ejecutar código

Cómo: Ejecutar código cuando se inicia o se cierra la aplicación

Comprobar los argumentos de la línea de comandos de la primera instancia de la aplicación

My.Application.CommandLineArgs (Propiedad)

Ejemplo

Este ejemplo utiliza el parámetro e del controlador de eventos StartupNextInstance para examinar los argumentos de la línea de comandos de la aplicación. Si se encuentra un argumento que comienza con /input=, se muestra el resto de ese argumento.

Private Sub MyApplication_StartupNextInstance( _
    ByVal sender As Object, _
    ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
    Dim inputArgument As String = "/input="
    Dim inputName As String = ""

    For Each s As String In e.CommandLine
        If s.ToLower.StartsWith(inputArgument) Then
            inputName = s.Remove(0, inputArgument.Length)
        End If
    Next

    If inputName = "" Then
        MsgBox("No input name")
    Else
        MsgBox("Input name: " & inputName)
    End If
End Sub

Debe escribir el código para los eventos de aplicaciones en la ventana del editor de código. Para tener acceso a esta ventana, siga las instrucciones de la sección Comentarios de este tema. Para obtener más información, consulte Cómo: Controlar eventos de aplicaciones (Visual Basic).

Requisitos

Espacio de nombres:Microsoft.VisualBasic.ApplicationServices

Clase:WindowsFormsApplicationBase

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Disponibilidad por tipo de proyecto

Tipo de proyecto

Disponible

Aplicación para Windows

Biblioteca de clases

No

Aplicación de consola

No

Biblioteca de controles de Windows

No

Biblioteca de controles Web

No

Servicio de Windows

No

Sitio Web

No

Permisos

No se requiere ningún permiso.

Vea también

Tareas

Cómo: Controlar eventos de aplicaciones (Visual Basic)

Cómo: Especificar el comportamiento de las instancias para una aplicación (Visual Basic)

Cómo: Especificar el comportamiento de las instancias para una aplicación (Visual Basic)

Conceptos

Información general sobre el modelo de aplicaciones de Visual Basic

Referencia

My.Application (Objeto)

My.Application.Startup (Evento)

My.Application.CommandLineArgs (Propiedad)

StartupEventArgs

CommandLine

WindowsFormsApplicationBase.StartupNextInstance