名詞釋義
Visual Basic 語言參考
AppActivate 函式
激活已經運行的套用程式。
Public Overloads Sub AppActivate( _
ByVal { Title As String | ProcessId As Integer } _
)
參數
Title
String 表達式,指定要激活的應用程式的標題欄中的標題。您可以使用應用程式啟動時分配給應用程式的標題。
ProcessId
Integer,指定分配給此進程的 Win32 進程 ID 號。您可以使用 Shell 函式返回的 ID,只要它不是零即可。
異常
異常類型
異常類型錯誤號條件
ArgumentException
5
未找到 Title 或 ProcessId。
如果正在升級使用無結構錯誤處理的 Visual Basic 6.0 應用程式,請參見“錯誤號”一列。(您可以根據 Number 屬性(Err 對象)比較錯誤號。)然而,如果可能,應當考慮用 Visual Basic 的結構化異常處理概述替換這種錯誤控制。
備註
可使用 AppActivate 使應用程式的活動視窗進入焦點。您可能沒有活動視窗的句柄或引用,或者甚至不知道在給定時刻哪個視窗是活動的。在這種情況下,您不能使用 Focus 方法。
AppActivate 函式將焦點更改到指定的應用程式或視窗,但並不影響它是最大化還是最小化。當用戶執行某個操作改變焦點或將視窗關閉時,焦點將從激活的應用程式視窗移走。可使用 Shell 函式啟動一個應用程式並設定視窗樣式。
如果使用 Title 參數,則 AppActivate 使用不區分大小寫的比較,但要求精確匹配標題欄的內容。它首先查找頂級視窗,然後查找子視窗。如果它找不到匹配項,則引發 ArgumentException。
只能對具有視窗的進程使用 AppActivate。大多數控制台應用程式都不具有視窗,這意味著它們不包含在 AppActivate 搜尋的進程列表中。從控制台應用程式運行時,系統會創建獨立的進程以運行應用程式,並將輸出返回控制台進程。因此,當您請求當前進程 ID 時,將獲得此獨立進程的進程 ID,而不是控制台應用程式的進程 ID。
在運行時,AppActivate 函式激活任何標題與 Title 匹配或進程 ID 與 ProcessId 匹配的正在運行的應用程式。如果沒有完全匹配項,則該函式激活其標題字元串以 Title 結尾的任何應用程式。如果有多個應用程式名為 Title,則 AppActivate 函式隨機激活一個應用程式。
注意
AppActivate 函式需要 SafeTopLevelWindows 級別的 UIPermission,這可能會對它在部分信任情況下的執行產生影響。有關更多信息,請參見請求許可權和 UIPermission Class。
示例
本示例說明了用 AppActivate 函式來激活應用程式視窗的各種用法。如果當前沒有運行記事本進程,本示例將引發 ArgumentException。Shell 過程假定應用程式位於指定的路徑中。
Visual Basic 複製代碼
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 Runtime Library(在 Microsoft.VisualBasic.dll 中)
請參見
參考
Shell 函式
Focus
ArgumentException