WindowsFormsApplicationBase.StartupNextInstance イベント

定義

単一インスタンスのアプリケーションを起動しようとしたとき、そのアプリケーションが既にアクティブになっている場合に発生します。Occurs when attempting to start a single-instance application and the application is already active.

public:
 event Microsoft::VisualBasic::ApplicationServices::StartupNextInstanceEventHandler ^ StartupNextInstance;
public event Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventHandler StartupNextInstance;
member this.StartupNextInstance : Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventHandler 
Public Event StartupNextInstance As StartupNextInstanceEventHandler 

この例では、StartupNextInstance イベントハンドラーの e パラメーターを使用して、アプリケーションのコマンドライン引数を確認します。This example uses the e parameter of the StartupNextInstance event handler to examine the application's command-line arguments. /input=で始まる引数が見つかった場合は、その引数の残りの部分が表示されます。If an argument is found that starts with /input=, the rest of that argument is displayed.

Private Sub MyApplication_StartupNextInstance(
    sender As Object,
    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. 詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。For more information, see Application Page, Project Designer (Visual Basic).

注釈

アプリケーションが既にアクティブになっているときに再起動しようとすると、単一インスタンスアプリケーションで StartupNextInstance イベントが発生します。A single-instance application raises the StartupNextInstance event when you attempt to restart the application when it is already active. シングルインスタンスアプリケーションを初めて起動すると、Startup イベントが発生します。When a single-instance application starts for the first time, it raises the Startup event. 詳細については、「Startup」を参照してください。For more information, see Startup.

このイベントは、Visual Basic アプリケーションモデルの一部です。This event is part of the Visual Basic Application model. 詳細については、「 Visual Basic アプリケーションモデルの概要」を参照してください。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. ただし、このイベントが発生したときに、アプリケーションが別のユーザーインターフェイスイベントを処理中である場合、このイベントは、他のイベントハンドラーが終了するか、DoEvents メソッドを呼び出すまで処理できません。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 DoEvents method.

注意

StartupNextInstance イベントは、単一インスタンスアプリケーションでのみ発生します。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.

アプリケーションを1つのインスタンスにするにはTo make an application single instance
1.ソリューションエクスプローラーでプロジェクトを選択し、[プロジェクト] メニューの [プロパティ] をクリックします。1. With a project selected in Solution Explorer, click Properties on the Project menu.
2.[アプリケーション] タブをクリックします。2. Click the Application tab.
3.[単一インスタンスアプリケーションを作成する] チェックボックスをオンにします。3. Select the Make single instance application check box.

e パラメーターの CommandLine プロパティを使用して、後続の単一インスタンスアプリケーションの起動を試行する引数にアクセスする必要があります。You must use the CommandLine property of the e parameter to access the arguments for subsequent attempts to start a single-instance application. CommandLineArgs プロパティは、単一インスタンスアプリケーションの最初のインスタンスを開始するために使用される引数を提供します。The CommandLineArgs property provides the arguments used to start the first instance of a single-instance application.

StartupNextInstance イベントハンドラーのコードは、既定では非表示になっている ApplicationEvents .vb ファイルに格納されます。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.ソリューションエクスプローラーでプロジェクトを選択し、[プロジェクト] メニューの [プロパティ] をクリックします。1. With a project selected in Solution Explorer, click Properties on the Project menu.
2.[アプリケーション] タブをクリックします。2. Click the Application tab.
3.[アプリケーション イベントの表示] をクリックしてコード エディターを開きます。3. Click the View Application Events button to open the Code Editor.

詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。For more information, see Application Page, Project Designer (Visual Basic).

次の表に、My.Application.StartupNextInstance イベントに関連するタスクの例を示します。The following table lists examples of tasks involving the My.Application.StartupNextInstance event.

終了To 解決方法については、See
最初のアプリケーションインスタンスのコマンドライン引数を確認します。Check the command-line arguments of the first application instance CommandLineArgs

プロジェクトの種類別の可用性Availability by Project Type

プロジェクトの種類Project type 使用可能Available
Windows フォーム アプリケーションWindows Forms Application はいYes
クラス ライブラリClass Library いいえNo
コンソール アプリケーションConsole Application いいえNo
Windows フォーム コントロール ライブラリWindows Forms Control Library いいえNo
Web コントロールライブラリWeb Control Library いいえNo
Windows サービスWindows Service いいえNo
Web サイトWeb Site いいえNo

適用対象

こちらもご覧ください