다음을 통해 공유


My.Application.StartupNextInstance 이벤트

업데이트: 2007년 11월

단일 인스턴스 응용 프로그램을 시작하려고 하는데 해당 응용 프로그램이 이미 활성 상태인 경우 발생합니다.

' Usage
Public Sub Me_StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
End Sub
' Declaration
Public Event StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
)

매개 변수

  • sender
    이벤트를 발생시킨 Object입니다.

  • e
    응용 프로그램의 명령줄 인수를 포함하는 StartupEventArgs 개체입니다.

설명

이미 활성 상태인 단일 인스턴스 응용 프로그램을 다시 시작하려고 하면 해당 응용 프로그램에서 StartupNextInstance 이벤트를 발생시킵니다. 단일 인스턴스 응용 프로그램을 처음 시작하면 Startup 이벤트를 발생시킵니다. 자세한 내용은 My.Application.Startup 이벤트방법: 응용 프로그램의 인스턴스 만들기 동작 지정(Visual Basic)을 참조하십시오.

이 이벤트는 Visual Basic 응용 프로그램 모델의 일부입니다. 자세한 내용은 Visual Basic 응용 프로그램 모델 개요를 참조하십시오.

이 이벤트는 다른 사용자 인터페이스 이벤트를 갖는 응용 프로그램의 주 스레드에서 발생합니다. 따라서 이벤트 처리기가 직접 응용 프로그램의 사용자 인터페이스에 액세스할 수 있습니다. 하지만 이 이벤트가 발생할 때 응용 프로그램이 다른 사용자 인터페이스 이벤트를 처리 중인 경우 이 이벤트는 다른 이벤트 처리기가 종료되거나 My.Application.DoEvents 메서드를 호출할 때까지 처리될 수 없습니다.

참고:

StartupNextInstance 이벤트는 단일 인스턴스 응용 프로그램에서만 발생합니다. 응용 프로그램에 대해 단일 인스턴스 동작을 사용하려면 프로젝트 디자이너의 단일 인스턴스 응용 프로그램 작성 확인란을 선택해야 합니다. 자세한 내용은 방법: 응용 프로그램의 인스턴스 만들기 동작 지정(Visual Basic)을 참조하십시오.

다음에 단일 인스턴스 응용 프로그램 시작을 시도하기 위해 인수에 액세스하려면 e 매개 변수의 CommandLine 속성을 사용해야 합니다. My.Application.CommandLineArgs 속성은 단일 인스턴스 응용 프로그램의 첫 인스턴스를 시작하는 데 사용되는 인수를 제공합니다.

StartupNextInstance 이벤트 처리기에 대한 코드는 ApplicationEvents.vb 파일에 저장되고 이 파일은 기본적으로 숨겨집니다.

응용 프로그램 이벤트에 대한 코드 편집기 창에 액세스하려면

  1. 솔루션 탐색기에서 프로젝트를 선택하고 프로젝트 메뉴에서 속성을 클릭합니다.

  2. 응용 프로그램 탭을 클릭합니다.

  3. 응용 프로그램 이벤트 보기 단추를 클릭하여 코드 편집기를 엽니다.

    자세한 내용은 방법: 응용 프로그램 이벤트 처리(Visual Basic)를 참조하십시오.

작업

다음 표에서는 My.Application.StartupNextInstance 이벤트와 관련된 작업의 예를 보여 줍니다.

작업

참조

코드를 실행하기 위해 Visual Basic 응용 프로그램 모델에서 제공한 이벤트 사용

방법: 응용 프로그램을 시작하거나 끝낼 때 코드 실행

첫 응용 프로그램 인스턴스의 명령줄 인수 확인

My.Application.CommandLineArgs 속성

예제

이 예제에서는 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)를 참조하십시오.

요구 사항

네임스페이스:Microsoft.VisualBasic.ApplicationServices

클래스:WindowsFormsApplicationBase

**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

프로젝트 형식별 사용 가능 여부

프로젝트 형식

사용 가능 여부

Windows 응용 프로그램

클래스 라이브러리

아니요

콘솔 응용 프로그램

아니요

Windows 컨트롤 라이브러리

아니요

웹 컨트롤 라이브러리

아니요

Windows 서비스

아니요

웹 사이트

아니요

권한

사용 권한이 필요하지 않습니다.

참고 항목

작업

방법: 응용 프로그램 이벤트 처리(Visual Basic)

방법: 응용 프로그램의 인스턴스 만들기 동작 지정(Visual Basic)

방법: 응용 프로그램의 인스턴스 만들기 동작 지정(Visual Basic)

개념

Visual Basic 응용 프로그램 모델 개요

참조

My.Application 개체

My.Application.Startup 이벤트

My.Application.CommandLineArgs 속성

StartupEventArgs

CommandLine

WindowsFormsApplicationBase.StartupNextInstance