gpt4 book ai didi

autohotkey - ControlGet,列表,不返回列表值

转载 作者:行者123 更新时间:2023-12-05 07:55:44 26 4
gpt4 key购买 nike

我正在尝试使用 ControlGet、List 来获取 AutoHotKey 中 ListView 的内容。此 ListView 位于我编写的一个简单的 VB6 应用程序中。我正在使用:

ControlGet, 列表, 列表,, ListViewWndClass1, 窗口标题

ListViewWndClass1 是我从 ActiveWindowInfo 得到的类名。

当我查看 List 的返回值时,它是空白的。 ErrorLevel 也为 1。

我也试过:

ControlGet、列表、列表、选定、SysListView321、下载

获取资源管理器窗口的内容(下载)并返回错误级别 1。

知道我在这里做错了什么吗?

我很乐意使用 PostMessage/SendMessage 或 DllCall( "SendMessage", 来获取列表控件的内容。

有没有人用AHK成功获取过listview控件的内容?

最佳答案

一些当前的控件看起来像 ListView ,但与旧的标准 ListView 控件不同。例如,Windows XP 文件夹确实使用标准 ListView ,但 Windows 7 没有。

假设您在标准 ListView 控件上使用最新版本的 AutoHotkey,它应该能够检索文本,除非它属于故意阻止的程序检索文本(尽管您仍然应该能够获得 ListView 项目的计数)。

如果 AutoHotkey 的 AccViewer 可以检索 ListView /类 ListView 控件的文本,那么这意味着您应该能够通过 Acc.ahk 及其函数检索它。

如果控件是标准 ListView ,则必须完全正确地获取 ControlGet 参数,否则文本检索将不起作用:

;get window by title
ControlGet, vText, List, , SysListView321, Media Player Classic Home Cinema

;get window by class
ControlGet, vText, List, , SysListView321, ahk_class MediaPlayerClassicW

;get active window
ControlGet, vText, List, , SysListView321, A

;display the text
MsgBox %vText%

;put the text on the clipboard
Clipboard := vText

;e.g. get text via the Acc library
;note: requires Acc.ahk library in AutoHotkey\Lib folder
;https://github.com/Drugoy/Autohotkey-scripts-.ahk/blob/master/Libraries/Acc.ahk
;on right of screen right-click Raw, Save target as...

^q::
ControlGet, hCtl, Hwnd, , SysListView321, A
if !hCtl
Return
oAcc := Acc_Get("Object", "4", 0, "ahk_id " hCtl)
Loop, % oAcc.accChildCount
if (Acc_Role(oAcc, A_Index) = "list item")
vText .= oAcc.accName(A_Index) "`r`n"
Clipboard := vText
MsgBox %vText%
Return

关于autohotkey - ControlGet,列表,不返回列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29331990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com