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, SendMessageDllCall 一起使用), 请使用 ControlGetHwndMouseGetPos.

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

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

示例

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

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