WinGetID

返回指定窗口的唯一 ID(HWND).

HWND := WinGetID(WinTitle, WinText, ExcludeTitle, ExcludeText)

参数

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

如果这些都是空白或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示).

ExcludeTitleExcludeText 可用于根据标题或文本排除一个或多个窗口. 它们的规范类似于 WinTitleWinText, 除了 ExcludeTitle 不识别除窗口标题之外的任何条件.

窗口标题和文本是区分大小写的. 默认情况下, 不检测隐藏窗口, 而检测隐藏文本元素, 除非使用 DetectHiddenWindowsDetectHiddenText 进行更改; 当使用纯 HWND 时, 都会检测隐藏窗口. 默认情况下, 窗口标题的任意位置包含 WinTitleExcludeTitle 就能形成匹配, 除非使用 SetTitleMatchMode 进行了更改.

返回值

类型: 整数

此函数返回指定窗口的窗口句柄(HWND).

错误处理

如果找不到窗口, 则抛出 TargetError.

备注

唯一 ID(HWND) 仅在其生存期内有效. 换句话说, 如果应用程序重新启动, 它的所有窗口都将获得新的 HWND.

要获取鼠标光标下的窗口的 HWND, 请使用 MouseGetPos.

要获取控件的 HWND, 请使用 ControlGetHwnd 或类似的函数.

WinGetIDLast, WinExist, ControlGetHwnd, Gui.Hwnd, 窗口函数, 控件函数

示例

最大化活动窗口并报告其 HWND.

active_id := WinGetID("A")
WinMaximize active_id
MsgBox "The active window's HWND is " active_id