【发布时间】:2023-03-30 18:25:01
【问题描述】:
假设您要打开myapp.exe,打开第三个菜单,然后选择第二个菜单项(即就像用户使用键盘或鼠标所做的那样),然后在对话框窗口中选择第二个按钮。
pyahk 和 pyautogui 似乎提供了这一点,但以一种相当“低级”的方式,通过模拟点击:
pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')
如何使用 Python 以更高级别的方式与 Windows GUI 进行交互?
例子:
window = gui.open('myapp.exe')
window.menu_open(3).choose_item(2)
child_window = window.wait_for_dialog()
child_window.buttons[1].click()
【问题讨论】:
-
我不相信这样的方法存在......您必须将一个程序附加到另一个程序,并且能够阅读和解释什么是“按钮”或“项目”,尽管主机程序用任意语言编写。同样,许多程序不允许将其他程序附加到它们,因为这是您利用和破解主机程序中的漏洞的方式。
-
@Reedinationer 是不是有一个统一的方式来浏览windows(列出所有顶级的
hWnd? -
pywinauto 是否如您所愿?看起来它比你提到的其他库更高级。
-
@RandomDavis 看起来很棒!我认为您可以将其发布为答案,还是您更喜欢我这样做?
-
@Basj 我发布了一个答案。很高兴我能帮上忙。
标签: python windows user-interface winapi