返回列表视图控件(如行, 列或计数值) 的内容数据.
Data := ListViewGetContent(Options, ControlID, WinTitle, WinText, ExcludeTitle, ExcludeText)
类型: 字符串
指定检索什么. 如果为空或省略, 则返回该控件中的所有行. 否则, 指定零个或多个下列单词, 每个单词之间用空格或制表符分隔:
Selected: 只返回选中 的行, 而不是所有行. 如果没有, Data 被置空.
Focused: 只返回聚焦行. 如果没有, Data 被置空.
ColN 仅获取第 N 列(字段) 而不是所有列. 把 N 替换为您选择的数字. 例如, Col4 返回第四列.
Count: 返回控件中的总行数.
Count Selected: 返回选中行的数量.
Count Focused: 返回聚焦行的行号(位置)(如果没有, 则返回 0).
Count Col: 返回控件中的列数(如果无法确定列数, 则返回 -1).
控件的 ClassNN, 文本或 HWND, 或具有 Hwnd 属性的对象. 有关详情, 请参阅控件标识符. 该参数是必需的; 也就是说, 不能省略.
如果这些都是空白或省略, 将使用最后找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示). 如果 DetectHiddenText 已经打开, 则检测隐藏文本元素. 标题或文本包含 ExcludeTitle 或 ExcludeText 的窗口将不被考虑.
窗口标题和文本是区分大小写的. 默认情况下, 不会检测隐藏的窗口, 但会检测隐藏的文本元素, 除非通过 DetectHiddenWindows 和 DetectHiddenText 进行更改. 在使用纯 HWND 时, 总是会检测隐藏的窗口. 默认情况下, 窗口标题中可以在任意位置包含 WinTitle 或 ExcludeTitle 以达成匹配, 除非通过 SetTitleMatchMode 进行更改.
此函数会根据指定的选项返回一个行列表或者一个计数值.
在返回行列表时, 除了最后一行之外, 每一行都会以换行符(`n) 结尾. 在每一行中, 除了最后一列之外的每一列都会以制表符(`t) 结尾.
如果找不到窗口或控件, 则抛出 TargetError.
如果消息无法发送到控件, 或拥有列表视图控件的进程无法打开, 这可能是由于缺少用户权限或因为它已被锁定, 则抛出 OSError.
如果 ColN 选项指定不存在的列, 则抛出 ValueError.
此函数适用于非图形用户界面窗口中的控件, 即那些并非通过 Gui 函数创建的窗口. 这个函数最适用于常见的或预定义的 Microsoft 控件; 而某些应用程序则使用自定义或修改后的控件, 在这种情况下, 函数可能无法按预期工作. 对于 GUI 控件, 通常使用它们的内置检索方法更方便.
一些应用程序将其控件数据单独存储, 从而防止 AutoHotkey 检索它们的文本. 在这些情况下, 通常不会抛出异常, 但是所有检索到文本都是空的.
另外, 列表视图控件中的列可以通过 SendMessage 进行调整大小, 如下例所示:
SendMessage(0x101E, 0, 80, "SysListView321", WinTitle) ; 0x101E 是 LVM_SETCOLUMNWIDTH.
在上面, 0 表示第一列(第二列指定 1, 2 为第三列, 依此类推). 此外, 80 是新宽度. 用 -1 替换 80 以自动调整列大小. 将其替换为 -2 即可执行相同操作, 但还要考虑标题文本的宽度.
ControlGetItems, WinGetList, GUI ListView control, 控件函数