AppActivate 함수
업데이트: 2007년 11월
이미 실행되고 있는 응용 프로그램을 활성화합니다.
Public Overloads Sub AppActivate( _
ByVal { Title As String | ProcessId As Integer } _
)
매개 변수
Title
활성화할 응용 프로그램의 제목 표시줄에 제목을 지정하는 String 식입니다. 응용 프로그램이 시작될 때 해당 응용 프로그램에 할당된 제목을 사용할 수 있습니다.ProcessId
이 프로세스에 할당되는 Win32 프로세스 ID 번호를 지정하는 Integer입니다. Shell 함수에 의해 반환된 ID가 0이 아닐 경우 이 ID를 사용할 수 있습니다.
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
Title 또는 ProcessId를 찾을 수 없는 경우 |
비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.
설명
AppActivate를 사용하면 응용 프로그램의 활성 창으로 포커스를 가져올 수 있습니다. 활성 창에 대한 핸들이나 참조가 없거나 지정한 시간에 어떤 창이 활성 창인지 모르는 경우 Focus 메서드를 사용할 수 없습니다.
AppActivate 함수는 명명된 응용 프로그램 또는 창의 포커스를 변경하지만 최대화 또는 최소화에는 영향을 주지 않습니다. 사용자가 포커스를 변경시키는 동작을 수행하거나 창을 닫으면 활성화된 응용 프로그램 창에서 포커스가 멀리 이동합니다. Shell 함수를 사용하여 응용 프로그램을 시작하고 창 스타일을 설정할 수 있습니다.
Title 매개 변수를 사용하는 경우 AppActivate는 비교할 때 대/소문자를 구분하지 않지만, 그렇지 않은 경우에는 제목 표시줄의 내용과 정확히 일치하는 대상만 찾습니다. 이 함수는 먼저 최상위 창을 검색한 다음 하위 창을 검색합니다. 일치하는 대상을 찾을 수 없으면 ArgumentException이 throw됩니다.
AppActivate는 창을 소유하는 프로세스에 대해서만 사용할 수 있습니다. 대부분의 콘솔 응용 프로그램은 창을 소유하지 않으므로 AppActivate가 검색하는 프로세스 목록에 나타나지 않습니다. 콘솔 응용 프로그램에서 실행될 경우 시스템은 별도의 프로세스를 만들어 해당 응용 프로그램을 실행하고 출력을 콘솔 프로세스로 반환합니다. 따라서 현재 프로세스 ID를 요청하면 콘솔 응용 프로그램의 프로세스 ID가 아니라 이 프로세스의 프로세스 ID가 반환됩니다.
런타임에 AppActivate 함수는 제목이 Title과 일치하거나 프로세스 ID가 ProcessId와 일치하는 실행 중인 임의의 응용 프로그램을 활성화합니다. 일치하는 대상이 없으면 제목 문자열이 Title로 끝나는 모든 응용 프로그램을 활성화합니다. 이름이 Title인 응용 프로그램이 두 개 이상이면 AppActivate 함수는 임의로 응용 프로그램을 선택하여 활성화합니다.
참고: |
---|
AppActivate 함수를 사용하려면 SafeTopLevelWindows 수준의 UIPermission이 있어야 합니다. 이 권한은 부분 신뢰 상태에서 해당 함수의 실행을 제한할 수 있습니다. 자세한 내용은 권한 요청 및 UIPermission 클래스를 참조하십시오. |
예제
다음 예제에서는 AppActivate 함수를 사용하여 응용 프로그램 창을 활성화하는 여러 가지 방법을 보여 줍니다. 메모장 프로세스를 실행하고 있지 않을 경우 이 예제는 ArgumentException을 throw합니다. Shell 프로시저에서는 응용 프로그램이 지정된 경로에 있는 것으로 간주합니다.
Dim notepadID As Integer
' Activate a running Notepad process.
AppActivate("Untitled - Notepad")
' AppActivate can also use the return value of the Shell function.
' Shell runs a new instance of Notepad.
notepadID = Shell("C:\WINNT\NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the new instance of Notepad.
AppActivate(notepadID)
스마트 장치 개발자 참고 사항
이 함수는 지원되지 않습니다.
요구 사항
네임스페이스:Microsoft.VisualBasic
**모듈:**Interaction
**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)