pywinauto - 从托盘访问子菜单

时间:2016-04-13 08:00:17

标签: pywinauto

我正在尝试从托盘项目访问子菜单。

这就是我点击菜单的方式:

import pywinauto
from pywinauto import taskbar
app = pywinauto.application.Application()
taskbar.RightClickSystemTrayIcon('App tray icon', exact=True)
app.PopupMenu.MenuItem("SomeMenuItem").ClickInput()  # Clicks an item from the app's main tray menu

我尝试使用pywinauto menuwrapper文档中的各种函数,但没有成功。 这些功能是否只适用于应用程序菜单?: https://pywinauto.github.io/docs/code/pywinauto.controls.menuwrapper.html

以下是我要访问的子菜单类型的示例:

enter image description here

1 个答案:

答案 0 :(得分:1)

在使用它执行任何操作之前,您需要连接到应用程序进程。在您的代码中似乎错过了(当然,输出对于理解实际发生的事情非常有用)。假设代码看起来应该是这样的:

import pywinauto
from pywinauto import taskbar
app = pywinauto.application.Application()

# start/connect is required before any action
app.connect(path='your.exe')

taskbar.RightClickSystemTrayIcon('App tray icon', exact=True)
app.PopupMenu.MenuItem("SomeMenuItem").ClickInput()
app.PopupMenu.MenuItem("SomeMenuItem->sub-menu item").ClickInput()