Поделиться через


Interaction.AppActivate Метод

Определение

Активирует приложение, которое уже выполняется.

Перегрузки

AppActivate(Int32)

Активирует приложение, которое уже выполняется.

AppActivate(String)

Активирует приложение, которое уже выполняется.

AppActivate(Int32)

Исходный код:
Interaction.vb
Исходный код:
Interaction.vb
Исходный код:
Interaction.vb

Активирует приложение, которое уже выполняется.

public:
 static void AppActivate(int ProcessId);
public static void AppActivate (int ProcessId);
static member AppActivate : int -> unit
Public Sub AppActivate (ProcessId As Integer)

Параметры

ProcessId
Int32

Значение типа Integer, задающее номер идентификатора процесса Win32, назначенного процессу. Можно использовать идентификатор, который возвращает Shell(String, AppWinStyle, Boolean, Int32), если он не равен нулю.

Примеры

В этом примере показаны различные способы использования AppActivate функции для активации окна приложения. Если процесс Блокнота не выполняется, в примере возникает исключение ArgumentException. В 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)

Комментарии

Вы используете, AppActivate чтобы перевести активное окно приложения в фокус. Возможно, у вас нет дескриптора или ссылки на активное окно или вы даже знаете, какое окно активно в данный момент. В этом случае нельзя использовать Focus метод .

Функция AppActivate перемещает фокус на именованное приложение или окно, но не влияет на его развертывание или свертывание. Фокус перемещается из активированного окна приложения, когда пользователь выполняет какое-либо действие, чтобы изменить фокус или закрыть окно. Функцию можно использовать для Shell запуска приложения и настройки стиля окна.

Если используется Title параметр , используется сравнение без учета регистра, AppActivate но в противном случае требуется точное соответствие с содержимым строки заголовка. Сначала он просматривает окна верхнего уровня, а затем через дочерние окна. Если не удается найти совпадение, создается исключение ArgumentException.

Можно использовать AppActivate только с процессами, владеющими окнами. Большинство консольных приложений не имеют окон, что означает, что они не отображаются в списке процессов, которые AppActivate выполняют поиск. При запуске из консольного приложения система создает отдельный процесс для запуска приложения и возвращает выходные данные в консольный процесс. Следовательно, при запросе текущего идентификатора процесса вы получаете идентификатор этого отдельного процесса, а не идентификатор процесса консольного приложения.

Во время AppActivate выполнения функция активирует любое запущенное приложение с соответствующим заголовком Title или идентификатором процесса, соответствующим ProcessId. Если точное совпадение отсутствует, активируется любое приложение, строка заголовка которого заканчивается на Title. Если имеется несколько приложений AppActivate с именами Title, функция произвольно выбирает одно из них для активации.

Примечание

Функция AppActivate требуется UIPermission на SafeTopLevelWindows уровне , что может повлиять на ее выполнение в ситуациях с частичным доверием. Дополнительные сведения см. в разделе UIPermission.

См. также раздел

Применяется к

AppActivate(String)

Исходный код:
Interaction.vb
Исходный код:
Interaction.vb
Исходный код:
Interaction.vb

Активирует приложение, которое уже выполняется.

public:
 static void AppActivate(System::String ^ Title);
public static void AppActivate (string Title);
static member AppActivate : string -> unit
Public Sub AppActivate (Title As String)

Параметры

Title
String

Выражение типа String, задающее заголовок для строки заголовка активируемого окна приложения. Можно использовать название, присваимое приложению при запуске.

Примеры

В этом примере показаны различные способы использования AppActivate функции для активации окна приложения. Если процесс Блокнота не выполняется, в примере возникает исключение ArgumentException. В 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)

Комментарии

Вы используете, AppActivate чтобы перевести активное окно приложения в фокус. Возможно, у вас нет дескриптора или ссылки на активное окно или вы даже знаете, какое окно активно в данный момент. В этом случае нельзя использовать Focus метод .

Функция AppActivate перемещает фокус на именованное приложение или окно, но не влияет на его развертывание или свертывание. Фокус перемещается из активированного окна приложения, когда пользователь выполняет какое-либо действие, чтобы изменить фокус или закрыть окно. Функцию можно использовать для Shell запуска приложения и настройки стиля окна.

Если используется Title параметр , используется сравнение без учета регистра, AppActivate но в противном случае требуется точное соответствие с содержимым строки заголовка. Сначала он просматривает окна верхнего уровня, а затем через дочерние окна. Если не удается найти совпадение, создается исключение ArgumentException.

Можно использовать AppActivate только с процессами, владеющими окнами. Большинство консольных приложений не имеют окон, что означает, что они не отображаются в списке процессов, которые AppActivate выполняют поиск. При запуске из консольного приложения система создает отдельный процесс для запуска приложения и возвращает выходные данные в консольный процесс. Следовательно, при запросе текущего идентификатора процесса вы получаете идентификатор этого отдельного процесса, а не идентификатор процесса консольного приложения.

Во время AppActivate выполнения функция активирует любое запущенное приложение с соответствующим заголовком Title или идентификатором процесса, соответствующим ProcessId. Если точное совпадение отсутствует, активируется любое приложение, строка заголовка которого заканчивается на Title. Если имеется несколько приложений AppActivate с именами Title, функция произвольно выбирает одно из них для активации.

Примечание

Функция AppActivate требуется UIPermission на SafeTopLevelWindows уровне , что может повлиять на ее выполнение в ситуациях с частичным доверием. Дополнительные сведения см. в разделе UIPermission.

См. также раздел

Применяется к