Interaction.AppActivate 方法

定义

激活已经正在运行的应用程序。

重载

AppActivate(Int32)

激活已经正在运行的应用程序。

AppActivate(String)

激活已经正在运行的应用程序。

AppActivate(Int32)

Source:
Interaction.vb
Source:
Interaction.vb
Source:
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 进程 ID 号。 可以使用 Shell(String, AppWinStyle, Boolean, Int32) 返回的 ID,前提是该 ID 不为零。

示例

此示例演示函数激活应用程序窗口的各种用法 AppActivate 。 如果 Notepad 进程未运行,该示例将引发 ArgumentExceptionShell 过程假定应用程序位于指定的路径中。

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 列表中。 从控制台应用程序运行时,系统会创建一个单独的进程来运行应用程序,并将输出返回到控制台进程。 因此,当你请求当前进程 ID 时,你将获取此单独进程的进程 ID,而不是控制台应用程序的进程 ID。

在运行时, AppActivate 函数会激活任何正在运行的应用程序,其标题与 匹配 Title ,或者具有与 匹配 ProcessId的进程 ID。 如果没有完全匹配项,它将激活其标题字符串以 Title结尾的任何应用程序。 如果有多个名为 Title的应用程序,该 AppActivate 函数会任意选择一个要激活的应用程序。

注意

函数AppActivateSafeTopLevelWindows 级别要求UIPermission,这可能会影响其在部分信任情况下的执行。 有关更多信息,请参见UIPermission

另请参阅

适用于

AppActivate(String)

Source:
Interaction.vb
Source:
Interaction.vb
Source:
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 。 如果 Notepad 进程未运行,该示例将引发 ArgumentExceptionShell 过程假定应用程序位于指定的路径中。

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 列表中。 从控制台应用程序运行时,系统会创建一个单独的进程来运行应用程序,并将输出返回到控制台进程。 因此,当你请求当前进程 ID 时,你将获取此单独进程的进程 ID,而不是控制台应用程序的进程 ID。

在运行时, AppActivate 函数会激活任何正在运行的应用程序,其标题与 匹配 Title ,或者具有与 匹配 ProcessId的进程 ID。 如果没有完全匹配项,它将激活其标题字符串以 Title结尾的任何应用程序。 如果有多个名为 Title的应用程序,该 AppActivate 函数会任意选择一个要激活的应用程序。

注意

函数AppActivateSafeTopLevelWindows 级别要求UIPermission,这可能会影响其在部分信任情况下的执行。 有关更多信息,请参见UIPermission

另请参阅

适用于