WindowsFormsApplicationBase.StartupNextInstance イベント

定義

単一インスタンスのアプリケーションを起動しようとしたとき、そのアプリケーションが既にアクティブになっている場合に発生します。

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

イベントの種類

この例では、 e イベント ハンドラーの パラメーターを StartupNextInstance 使用して、アプリケーションのコマンド ライン引数を調べます。 で /input=始まる引数が見つかった場合は、その引数の残りの部分が表示されます。

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

アプリケーション イベントの [コード エディター] ウィンドウにコードを入力する必要があります。 このウィンドウにアクセスするには、このトピックの「解説」セクションの手順に従います。 詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。

注釈

アプリケーションが既にアクティブになっているときにアプリケーションを StartupNextInstance 再起動しようとすると、単一インスタンス アプリケーションによって イベントが発生します。 単一インスタンス アプリケーションが初めて起動すると、 イベントが Startup 発生します。 詳細については、「Startup」を参照してください。

このイベントは、Visual Basic アプリケーション モデルの一部です。 詳細については、「 Visual Basic アプリケーション モデルの概要」を参照してください。

このイベントは、他のユーザー インターフェイス イベントと共に、アプリケーションの メイン スレッドで発生します。 これにより、イベント ハンドラーはアプリケーションのユーザー インターフェイスに直接アクセスできます。 ただし、このイベントが発生したときにアプリケーションで別のユーザー インターフェイス イベントの処理がビジー状態になっている場合は、他のイベント ハンドラーがメソッドを終了または呼び出すまで、このイベントを DoEvents 処理できません。

注意

イベントは StartupNextInstance 、単一インスタンス アプリケーションでのみ発生します。 アプリケーションの単一インスタンスの動作を有効にするには、Project Designerの [単一インスタンス アプリケーションをチェックにする] ボックスをチェックする必要があります。

アプリケーションを 1 つのインスタンスにするには
1. ソリューション エクスプローラーでプロジェクトを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
2. [アプリケーション] タブをクリックします。
3. [単一インスタンス アプリケーションをチェックにする] ボックスを選択します。

パラメーターの e プロパティをCommandLine使用して、以降に単一インスタンス アプリケーションを起動する際に引数にアクセスする必要があります。 プロパティは CommandLineArgs 、単一インスタンス アプリケーションの最初のインスタンスを開始するために使用される引数を提供します。

イベント ハンドラーの StartupNextInstance コードは、既定では非表示になっているApplicationEvents.vb ファイルに格納されます。

アプリケーション イベントの [コード エディター] ウィンドウにアクセスするには
1. ソリューション エクスプローラーでプロジェクトを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
2. [アプリケーション] タブをクリックします。
3. [アプリケーション イベントの表示] ボタンをクリックして、コード エディターを開きます。

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

次の表に、 イベントに関連するタスクの例を My.Application.StartupNextInstance 示します。

終了 解決方法については、
最初のアプリケーション インスタンスのコマンド ライン引数を確認する CommandLineArgs

プロジェクトの種類別の可用性

プロジェクトの種類 使用可能
Windows フォーム アプリケーション はい
クラス ライブラリ いいえ
コンソール アプリケーション いいえ
Windows フォーム コントロール ライブラリ いいえ
Web コントロール ライブラリ いいえ
Windows サービス いいえ
Web サイト いいえ

適用対象

こちらもご覧ください