ControlGetFocus

如果有, 则获取目标窗口中具有输入焦点的控件.

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

参数

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

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

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

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

返回值

类型: 整数

此函数返回具有输入焦点的控件的窗口句柄(HWND).

如果目标窗口的控件都没有焦点, 则返回 0.

错误处理

如果在确定目标窗口或控件时出现问题, 则抛出 TargetError.

如果在确定焦点时出现问题, 则抛出 OSError.

备注

通过此函数检索的控件是具有键盘焦点的控件, 即, 如果用户键入任何键盘, 将接收击键的控件.

目标窗口必须处于活动状态才能具有焦点控件, 但是即使是活动窗口也可能没有焦点控件.

ControlFocus, 控件函数

示例

报告活动窗口的焦点控件的 HWND 和 ClassNN.

FocusedHwnd := ControlGetFocus("A")
FocusedClassNN := ControlGetClassNN(FocusedHwnd)
MsgBox 'Control with focus = {Hwnd: ' FocusedHwnd ', ClassNN: "' FocusedClassNN '"}'