首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用pywinauto获取托盘中图标的数量

如何使用pywinauto获取托盘中图标的数量
EN

Stack Overflow用户
提问于 2019-09-13 12:02:56
回答 1查看 152关注 0票数 0

我有一个应用程序,它坐在托盘中,当我点击.exe文件。我无法点击我的应用程序,它位于系统托盘中。因为当我使用inspector.exe进行检查时,它没有class_name、id或任何东西。所以我决定用图标的索引来点击它。因为我不确定有多少图标坐在托盘当我运行这个特定的程序。因此,我想在单击.exe文件之前获得图标的计数。如果计数是x,那么在单击.exe之后,我可以单击索引x图标,这实际上是在单击我想要的图标。有人能帮我统计一下图标的数量吗?我多次尝试使用child_window(class_name=""),但它只返回一个对象,而不是列表。

下面是我的代码:

代码语言:javascript
运行
AI代码解释
复制
from pywinauto.application import Application
import time

app = Application(backend="uia").connect(path="explorer.exe")
st = app.window(class_name="Shell_TrayWnd")
t = st.child_window(title="Notification Chevron").wrapper_object()
t.click()

time.sleep(1)

list_box = Application(backend="uia").connect(class_name="NotifyIconOverflowWindow")
list_box_win = list_box.window(class_name="NotifyIconOverflowWindow")
list_box_win.wait('visible', timeout=30, retry_interval=3)
list_box_win.child_window(class_name="", found_index=x).click_input()

我们将非常感谢您的帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-29 18:57:06

这不是给出计数和做所需的工作。下面的代码将遍历系统托盘中可用的应用程序,并通过检查其名称来单击所需的应用程序。

代码语言:javascript
运行
AI代码解释
复制
from pywinauto.application import Application
import time

app = Application(backend="uia").connect(path="explorer.exe")
taskBar = app.window(class_name='Shell_TrayWnd')
trayIcon = taskBar["Notification Chevron"].wrapper_object()
trayIcon.click()

time.sleep(0.25)

trayWindowContainer = Application(backend="uia").connect(class_name="NotifyIconOverflowWindow")
trayWindow = trayWindowContainer.window(class_name="NotifyIconOverflowWindow")
trayWindow.wait('visible', timeout=30, retry_interval=3)

breakLoop: bool = False
for notification_area in trayWindow.children():
    for app_in_tray in notification_area.children():
        if "<App_name>" in str(app_in_tray):
            app_in_tray.click_input()
            breakLoop = True
            break
            if breakLoop:
                break
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57923310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档