# StatusBarGetText

获取标准状态栏控件的文本.

    Text := StatusBarGetText(Part#, WinTitle, WinText, ExcludeTitle, ExcludeText)

## 参数

Part#

  类型: 整数

  如果未设置或省略, 默认为 1, 这部分通常包含了我们感兴趣的文本. 否则, 请指定要获取的状态栏那一部分的编号.

WinTitle, WinText, ExcludeTitle, ExcludeText

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

  如果这些都未设置或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示). 如果 DetectHiddenText 已经打开, 则检测隐藏文本元素. 标题或文本包含 ExcludeTitle 或 ExcludeText 的窗口将不被考虑.

## 返回值

类型: 字符串

此函数返回状态栏控件的文本.

## 错误处理

在以下任何一种情况下都会抛出异常:

- TargetError: 找不到目标窗口或不包含标准状态栏.
- OSError: 在发送 SB_GETPARTS 消息时出现问题, 或者在 2000 毫秒内没有收到回复.
- OSError: 在拥有状态栏的进程中无法分配内存.

## 备注

该函数尝试读取窗口中首个 标准 状态栏(微软通用控件: msctls_statusbar32). 某些程序使用它们自己的状态栏或微软通用控件的特殊版本, 此时无法获取它的文本.

使用 StatusBarWait 通常比在循环中使用 StatusBarGetText 更有效, 因为其包含了避免重复调用 StatusBarGetText 形成的高开销的优化.

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

## 相关

StatusBarWait, WinGetTitle, WinGetText, ControlGetText

## 示例

从状态栏的第一部分检索和分析文本.

    RetrievedText := StatusBarGetText(1, "Search Results")
    if InStr(RetrievedText, "found")
        MsgBox "Search results have been found."

dftg