我正在尝试从另一个应用程序导入/提取表单的值,以便使用python和pywin32在我的代码中使用。
我使用Spy ++找出了需要定位的元素的句柄,但无法弄清楚如何从元素中获取文本。
目标应用程序的结构方式:
top app level
(no name) class: MDIClient (this is the centerWidget)
(no name) class: ThunderRT6FormDC (occupies same space as centerwidget)
(Ticket) class: ThunderRT6Frame (Frame that holds all fields to extract from)
(no name) class: NumEdit/DateEdit/TextEdit... (fields to import)
(Information) class ThunderRT6Frame (2nd frame with fields)
(no name) class: NumEdit/DateEdit/TextEdit... (fields to import)
(Process) class ThunderRT6Frame (3rd frame with fields)
(no name) class: NumEdit/DateEdit/TextEdit... (fields to import)
f = win32gui.FindWindow('ThunderRT6MDIForm', 'ApplicationName')
ex = win32gui.FindWindowEx(f, 0, 'MDIClient', None)
exx = win32gui.FindWindowEx(ex, 0, 'ThunderRT6FormDC', None)
exxx = win32gui.FindWindowEx(exx, 0, 'ThunderRT6Frame', None)
exxxx = win32gui.FindWindowEx(exxx, 0, 'NumEdit', None)
exxxx是我要从中提取标题/文本的句柄/元素。 我确定FindWindowEx在搜索Windows时不是正确的功能,但是我必须使用什么功能?
答案 0 :(得分:0)
[MS.Docs]: FindWindowExW function(由win32gui.FindWindowEx
包裹)应该可以解决问题。 / em>)是一个父级-子级。
另一种方法是使用[MS.Docs]: EnumChildWindows function(win32gui.EnumChildWindows
)-还要检查 EnumWindows 。
有关更多详细信息,请查看:
从那里,您可以使用 GetWindowTextW (win32gui.GetWindowTextW
)获取所需窗口的标题。