使用PyWinAuto(或其他任何东西)与taskb上的隐藏图标交互

2024-10-01 15:45:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在windows7中使用python找到并单击任务栏上的隐藏图标(通过单击白色三角形显示)。我一直在尝试使用pywinauto来实现这一点,但它似乎没有找到并单击其中一个隐藏图标的功能。即使是pywinauto中的任务栏模块也不能工作(可能是因为过时了)。我该怎么做?在

我试图访问的自动化应用程序只能通过单击任务栏中的隐藏图标来显示。所谓隐藏图标,我是说在通知区。在

我试过了pywinauto.taskbar.SystemTrayIcons,但DrawOutline方法显示这是任务栏的错误区域。使用taskbar.SystemTrayIcons.WrapperObject().Button(0)无论如何都不起作用,但给出了GetButtonInfo failed异常。在

我还尝试使用SWAPY创建python代码来查找和单击相关的按钮,尽管它可以单击按钮(很有帮助地命名为“button”)来显示隐藏的图标,但它不显示如何单击这些图标。在


Tags: 模块方法功能应用程序错误按钮图标三角形
1条回答
网友
1楼 · 发布于 2024-10-01 15:45:10

在64位Python(2.7或3.4,无所谓)上安装latest version of pywinauto,并运行以下代码:

from pywinauto import taskbar
taskbar.TaskBar.Button.click_input()
popup_dlg = taskbar.explorer_app.window(class_name='NotifyIconOverflowWindow')
popup_toolbar = popup_dlg.Overflow_Notification_Area
print(popup_toolbar.texts()[1:])

此外,您可以根据检索到的文本按下感兴趣的按钮:

^{pr2}$

编辑(2019年1月):此代码可能不适用于最新的Windows 10 RS1+,因为通知图标区域发生了重大变化,但它应该适用于Win7和Win8.1。在

相关问题 更多 >

    热门问题