My.Application.StartupNextInstance Event

Occurs when attempting to start a single-instance application and the application is already active.

' 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 _
)

Parameters

  • sender
    The Object that raised the event.

  • e
    A StartupEventArgs object that contains the application's command-line arguments.

Remarks

A single-instance application raises the StartupNextInstance event when you attempt to restart the application when it is already active. When a single-instance application starts for the first time, it raises the Startup event. For more information, see My.Application.Startup Event and How to: Specify Instancing Behavior for an Application (Visual Basic).

This event is part of the Visual Basic Application model. For more information, see Overview of the Visual Basic Application Model.

This event is raised on the application's main thread with the other user-interface events. This allows the event handler to access directly the application's user interface. However, if the application is busy handling another user-interface event when this event is raised, this event cannot be processed until the other event handler finishes or calls the My.Application.DoEvents Method.

Note

The StartupNextInstance event is raised only in single-instance applications. To enable single-instance behavior for your application, you must check the Make single instance application check box in the Project Designer. For more information, see How to: Specify Instancing Behavior for an Application (Visual Basic).

You must use the CommandLine property of the e parameter to access the arguments for subsequent attempts to start a single-instance application. The My.Application.CommandLineArgs Property provides the arguments used to start the first instance of a single-instance application.

The code for the StartupNextInstance event handler is stored in the ApplicationEvents.vb file, which is hidden by default.

To access the Code Editor window for application events

  1. With a project selected in Solution Explorer, click Properties on the Project menu.

  2. Click the Application tab.

  3. Click the View Application Events button to open the Code Editor.

    For more information, see How to: Handle Application Events (Visual Basic).

Tasks

The following table lists examples of tasks involving the My.Application.StartupNextInstance event.

To

See

Use the events provided by the Visual Basic Application model to run code

How to: Run Code When the Application Starts or Ends

Check the command-line arguments of the first application instance

My.Application.CommandLineArgs Property

Example

This example uses the e parameter of the StartupNextInstance event handler to examine the application's command-line arguments. If an argument is found that starts with /input=, the rest of that argument is displayed.

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

You must enter the code in the Code Editor window for application events. To access this window, follow the instructions from this topic's Remarks section. For more information, see How to: Handle Application Events (Visual Basic).

Requirements

Namespace:Microsoft.VisualBasic.ApplicationServices

Class:WindowsFormsApplicationBase

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Availability by Project Type

Project type

Available

Windows Application

Yes

Class Library

No

Console Application

No

Windows Control Library

No

Web Control Library

No

Windows Service

No

Web Site

No

Permissions

No permissions are required.

See Also

Tasks

How to: Handle Application Events (Visual Basic)

How to: Specify Instancing Behavior for an Application (Visual Basic)

How to: Specify Instancing Behavior for an Application (Visual Basic)

Concepts

Overview of the Visual Basic Application Model

Reference

My.Application Object

My.Application.Startup Event

My.Application.CommandLineArgs Property

StartupEventArgs

CommandLine

WindowsFormsApplicationBase.StartupNextInstance