次の方法で共有


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 

イベントの種類

この例では、StartupNextInstance イベント ハンドラーの e パラメーターを使用して、アプリケーションのコマンド ライン引数を調べます。 /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 イベントは、単一インスタンス アプリケーションでのみ発生します。 アプリケーションの単一インスタンス動作を有効にするには、プロジェクト デザイナーの [ 単一インスタンス アプリケーションの作成 ] チェック ボックスをオンにする必要があります。

アプリケーションを単一インスタンスにするには:

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

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

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

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

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

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

〜へ 参照先
最初のアプリケーション インスタンスのコマンド ライン引数を確認する CommandLineArgs

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

プロジェクトの種類 在庫有り
Windows フォーム アプリケーション はい
クラス ライブラリ いいえ
コンソール アプリケーション いいえ
Windows フォーム コントロール ライブラリ いいえ
Web コントロール ライブラリ いいえ
Windows サービス いいえ
ウェブサイト いいえ

適用対象

こちらもご覧ください