使用PyWinAuto(或其他东西)与在任务栏上隐藏的图标互动

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

我试图找到并单击Windows 7任务栏上的一个隐藏的图标(点击的白色三角所示),使用python。我一直在尝试使用pywinauto这一点,但它似乎并不具备的功能找到并单击其中隐藏的图标之一。即使在pywinauto任务栏模块不能正常工作(可能是由于没有过时)。我怎样才能做到这一点?

我试图自动化接入的应用程序只能通过点击任务栏中其隐藏的图标显示。通过隐藏的图标,我指的是在通知区域。

我试过pywinauto.taskbar.SystemTrayIcons,但DrawOutline方法表明,这是任务栏的错误区域。并使用taskbar.SystemTrayIcons.WrapperObject()按钮(0)不反正工作,但给人以GetButtonInfo未能例外。

我一直在使用SWAPY为找到并点击相关按钮创建Python代码也尝试过,虽然它可以单击按钮(有益命名为“按钮”),以显示隐藏的图标,它不显示怎么然后点击这些图标。

python taskbar pywinauto
1个回答
2
投票

在64位的Python安装latest version of pywinauto(2.7或3.4,这并不重要)并运行下列代码:

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:])

另外,你可以按基于文本检索感兴趣的按钮:

popup_toolbar.button('your program name').click_input(double=True)

编辑(2019年4月):此代码可能不是最新的Windows 10 RS1 +,因为通知图标面积显著变化工作,虽然它应该Win7和Win8.1工作。

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