WindowsFormsApplicationBase.StartupNextInstance イベント
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)

Dim instance As WindowsFormsApplicationBase Dim handler As StartupNextInstanceEventHandler AddHandler instance.StartupNextInstance, handler
public: event StartupNextInstanceEventHandler^ StartupNextInstance { void add (StartupNextInstanceEventHandler^ obj); void remove (StartupNextInstanceEventHandler^ obj); }

詳細については、Visual Basic のトピック「My.Application.StartupNextInstance イベント」を参照してください。
単一インスタンスのアプリケーションでは、既にアクティブになっているアプリケーションを再起動させようとすると、StartupNextInstance イベントが生成されます。単一インスタンスのアプリケーションは、初回起動時に Startup イベントを生成します。詳細については、My.Application.Startup イベント、方法 : アプリケーションのインスタンス化の動作を指定する の各トピックを参照してください。
このイベントは、Visual Basic アプリケーション モデルに属する機能です。詳細については、「Visual Basic アプリケーション モデルの概要」を参照してください。
このイベントは、他のユーザー インターフェイス イベントと共に、アプリケーションのメイン スレッドで発生します。これを利用すると、イベント ハンドラを通じて、アプリケーションのユーザー インターフェイスに直接アクセスできます。ただし、このイベントの発生時に、アプリケーションが別のユーザー インターフェイスのイベントを処理していてビジー状態にあった場合、他のイベント ハンドラの処理が完了するか、My.Application.DoEvents メソッド が呼び出されるまで、このイベントは処理されません。
![]() |
---|
StartupNextInstance イベントは、単一インスタンスのアプリケーションでのみ生成されます。アプリケーションに単一インスタンスの動作を実装するには、プロジェクト デザイナで [単一インスタンスのアプリケーションを作成する] チェック ボックスをオンにする必要があります。 |
ソリューション エクスプローラでプロジェクトを選択し、[プロジェクト] メニューの [プロパティ] をクリックします。
[単一インスタンスのアプリケーションを作成する] チェック ボックスをオンにします。
詳細については、「方法 : アプリケーションのインスタンス化の動作を指定する」を参照してください。
単一インスタンスのアプリケーションを複数回起動した場合、2 つ目以降のインスタンスの引数にアクセスするには、e パラメータの CommandLine プロパティを使用する必要があります。My.Application.CommandLineArgs プロパティ を使用すると、単一インスタンスのアプリケーションの 1 つ目のインスタンスを起動するときに渡された引数を取得できます。
StartupNextInstance イベント ハンドラのコードは、ApplicationEvents.vb ファイル (既定では隠しファイル) に格納されています。
アプリケーション イベントのコード エディタ ウィンドウにアクセスするにはソリューション エクスプローラでプロジェクトを選択し、[プロジェクト] メニューの [プロパティ] をクリックします。
[アプリケーション イベントの表示] をクリックして、コード エディタを開きます。
詳細については、「方法 : アプリケーション イベントを処理する (Visual Basic)」を参照してください。
My.Application.StartupNextInstance イベントを使ったタスクの例を次の表に示します。

この例では、StartupNextInstance イベント ハンドラの e パラメータを使用して、アプリケーションのコマンド ライン引数を調べています。/input= で始まる引数が見つかった場合は、その引数の残りの部分が表示されます。
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
このコードは、アプリケーション イベントのコード エディタ ウィンドウで入力する必要があります。このウィンドウにアクセスする手順については、このトピックの「解説」を参照してください。詳細については、「方法 : アプリケーション イベントを処理する (Visual Basic)」を参照してください。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WindowsFormsApplicationBase クラス
WindowsFormsApplicationBase メンバ
Microsoft.VisualBasic.ApplicationServices 名前空間
StartupEventArgs クラス
StartupEventArgs.CommandLine プロパティ
WindowsFormsApplicationBase.StartupNextInstance イベント
その他の技術情報
My.Application.StartupNextInstance イベント
My.Application オブジェクト
My.Application.Startup イベント
方法 : アプリケーション イベントを処理する (Visual Basic)
方法 : アプリケーションのインスタンス化の動作を指定する
My.Application.CommandLineArgs プロパティ
方法 : アプリケーションのインスタンス化の動作を指定する
Visual Basic アプリケーション モデルの概要
Weblioに収録されているすべての辞書からWindowsFormsApplicationBase.StartupNextInstance イベントを検索する場合は、下記のリンクをクリックしてください。

- WindowsFormsApplicationBase.StartupNextInstance イベントのページへのリンク