Interaction.AppActivate 方法

定义

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

重载

名称 说明
AppActivate(Int32)

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

AppActivate(String)

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

AppActivate(Int32)

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

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

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

注释

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

另请参阅

适用于

AppActivate(String)

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

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

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

注释

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

另请参阅

适用于