WinGetID

返回指定窗口的唯一 ID 号.

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

参数

WinTitle

类型: 字符串, 整数或对象

识别目标窗口的窗口标题或其他条件. 请参阅 WinTitle.

WinText

类型: 字符串

如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 DetectHiddenText 为 ON, 那么会检测隐藏文本元素.

ExcludeTitle

类型: 字符串

标题中含有此参数值的窗口将被排除.

ExcludeText

类型: 字符串

文本中含有此参数值的窗口将被排除.

返回值

类型: 整数

此函数返回指定窗口的窗口句柄(HWND). 如果没有匹配的窗口, 则返回一个空字符串.

错误处理

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

备注

此函数等同于 WinExist.

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

鼠标光标下的窗口的 ID 可以使用 MouseGetPos 来获取. 要发现控件的 HWND(用于与 PostMessage, SendMessage 或 DllCall 一起使用), 请使用 ControlGetHwnd 或 MouseGetPos.

窗口标题和文本是区分大小写的. 除非 DetectHiddenWindows 被打开, 否则不会检测隐藏窗口.

WinGetIDLast, ControlGetHwnd, Hwnd 属性(Gui 对象), Win 函数, Control 函数

示例

最大化活动窗口并报告其唯一 ID.

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