Partager via


My.Application.StartupNextInstance, événement

Mise à jour : novembre 2007

Se produit lors de la tentative de démarrer une application à instance unique alors que l'application est déjà 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 _
)

Paramètres

  • sender
    Objet Object qui a déclenché l'événement.

  • e
    Objet StartupEventArgs qui contient les arguments de ligne de commande de l'application.

Notes

Une application à instance unique déclenche l'événement StartupNextInstance lorsque vous essayez de redémarrer l'application alors qu'elle est déjà active. Lorsqu'une application à instance unique démarre pour la première fois, elle déclenche l'événement Startup. Pour plus d'informations, consultez My.Application.Startup, événement et Comment : spécifier le comportement d'instanciation pour une application (Visual Basic).

Cet événement fait partie du modèle d'application Visual Basic . Pour plus d'informations, consultez Vue d'ensemble du modèle d'application Visual Basic.

Cet événement est déclenché sur le thread principal de l'application avec les autres événements de l'interface utilisateur. Ainsi, le gestionnaire d'événements peut accéder directement à l'interface utilisateur de l'application. Toutefois, si l'application est occupée par la gestion d'un autre événement de l'interface utilisateur lorsque cet événement est déclenché, ce dernier ne pourra pas être traité tant que l'autre gestionnaire d'événements n'a pas terminé ou appelé la méthode My.Application.DoEvents, méthode.

Remarque :

L'événement StartupNextInstance est déclenché uniquement dans les applications à instance unique. Pour activer le comportement à instance unique pour votre application, vous devez activer la case à cocher Application à instance unique dans le Concepteur de projets. Pour plus d'informations, consultez Comment : spécifier le comportement d'instanciation pour une application (Visual Basic).

Vous devez utiliser la propriété CommandLine du paramètre e afin d'accéder aux arguments pour les tentatives ultérieures de démarrer une application à instance unique. My.Application.CommandLineArgs, propriété fournit les arguments utilisés pour démarrer la première instance d'une application à instance unique.

Le code du gestionnaire d'événements StartupNextInstance est stocké dans le fichier ApplicationEvents.vb, qui est masqué par défaut.

Pour accéder à la fenêtre de l'éditeur de code pour les événements d'application

  1. Un projet étant sélectionné dans l'Explorateur de solutions, cliquez dans le menu Projet sur Propriétés.

  2. Cliquez sur l'onglet Application.

  3. Cliquez sur le bouton Afficher les événements de l'application pour ouvrir l'éditeur de code.

    Pour plus d'informations, consultez Comment : gérer les événements d'application (Visual Basic).

Tâches

Le tableau suivant répertorie des exemples de tâches impliquant l'événement My.Application.StartupNextInstance.

Pour

Consultez

Utilisez les événements fournis par le modèle d'application Visual Basic , pour exécuter le code

Comment : exécuter le code lorsque l'application démarre ou se termine

Vérifier les arguments de ligne de commande de la première instance de l'application

My.Application.CommandLineArgs, propriété

Exemple

Cet exemple utilise le paramètre e du gestionnaire d'événements StartupNextInstance pour examiner les arguments de ligne de commande de l'application. Si un argument commençant par /input= est trouvé, le reste de cet argument est affiché.

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

Vous devez entrer le code dans la fenêtre de l'éditeur de code pour les événements d'application. Pour accéder à cette fenêtre, suivez les instructions de la section Remarques de cette rubrique. Pour plus d'informations, consultez Comment : gérer les événements d'application (Visual Basic).

Configuration requise

Espace de noms :Microsoft.VisualBasic.ApplicationServices

Classe :WindowsFormsApplicationBase

**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Disponibilité par type de projet

Type de projet

Disponible

Application Windows

Oui

Bibliothèque de classes

Non

Application console

Non

Bibliothèque de contrôles Windows

Non

Bibliothèque de contrôles Web

Non

Service Windows

Non

Site Web

Non

Autorisations

Aucune autorisation n'est requise.

Voir aussi

Tâches

Comment : gérer les événements d'application (Visual Basic)

Comment : spécifier le comportement d'instanciation pour une application (Visual Basic)

Comment : spécifier le comportement d'instanciation pour une application (Visual Basic)

Concepts

Vue d'ensemble du modèle d'application Visual Basic

Référence

My.Application, objet

My.Application.Startup, événement

My.Application.CommandLineArgs, propriété

StartupEventArgs

CommandLine

WindowsFormsApplicationBase.StartupNextInstance