Interaction.AppActivate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
激活正在运行的应用程序。
重载
| 名称 | 说明 |
|---|---|
| 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。