如何在Windows应用程序中使用inspect.exe查看列表框中项目的文本?

问题描述 投票:0回答:1

当我使用inspect.exe 检查Windows 应用程序中的列表框时,我看不到列表框中项目的文本。名称、文本值或模式值中没有文本。物品的文字是隐藏的还是其他什么? .

非常感谢您的帮助

python c# automation inspect
1个回答
0
投票

请回答,以下是代码:

导入win32gui 导入 win32con

找到主窗口的句柄

app_Class = "TkTopLevel" window_handle =win32gui.FindWindow(app_Class, None)

if window_handle == 0: print("无法从窗口找到句柄") 退出()

在主窗口中查找列表框的句柄 control_class = "TkChild" listbox_handle =win32gui.FindWindowEx(window_handle, None, control_class, None)

if listbox_handle == 0: print("无法从窗口中的列表框找到句柄") 退出()

获取列表框中项目的数量 item_count =win32gui.SendMessage(listbox_handle, win32con.LB_GETCOUNT, 0, 0)

print("列表框中的项目数为:", item_count)

迭代列表框中的每个项目并打印其文本以获取范围(item_count)中的索引:

获取项目文本的长度 item_text_length = win32gui.SendMessage(listbox_handle, win32con.LB_GETTEXTLEN, index, 0)

创建一个缓冲区来保存项目的文本 item_text_buffer = win32gui.PyMakeBuffer(item_text_length + 1)

获取项目的文本并将其存储在缓冲区中 win32gui.SendMessage(listbox_handle, win32con.LB_GETTEXT, index, item_text_buffer) # 将缓冲区转换为字符串 item_text = item_text_buffer[:item_text_length]

打印项目的文本 print("Item text", index, ":", item_text)

“”“注意:运行代码时,它得到这个结果:列表框中的项目计数为:0“””

请帮助我。 主窗口中的列表框包含 5 个项目。

© www.soinside.com 2019 - 2024. All rights reserved.