次の方法で共有


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 、単一インスタンス アプリケーションでのみ発生します。 アプリケーションの単一インスタンス動作を有効にするには、プロジェクト デザイナーの [ 単一インスタンス アプリケーションを作成 する] チェック ボックスをオンにする必要があります。

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

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

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

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

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

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

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

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

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

適用対象

こちらもご覧ください