2017-08-10 58 views
-2

我有一个应用程序使用这种应用程序类型,我需要自动化。不幸的是,我的自动化工具看不到应用程序窗口。有没有建议解决这个问题的方法?我使用pywinuto进行自动化。我甚至无法检查此应用程序的窗口数据。notifyiconwpf和GUI自动化

编辑:

from pywinauto import Application 
from pywinauto import taskbar 

app = Application().start("path/to/my/app") 
#make the window visible 
taskbar.ClickHiddenSystemTrayIcon("My App") 
#When I query the number of windows the app has. 
len(app.Windows()) 
#I get zero windows. There should be at least one window 
#because the window is currently visible. 

我也试过FindWindow函数方法,我可以得到一个WindowSpecification,但它没有连接到任何窗口。

+0

你可以在cmd提示符下运行应用程序吗? – jmoon

+0

@jmoon我可以。它只是启动应用程序。 –

+0

你使用哪个后端pywinauto?如果你创建'Application()'没有参数,它默认使用“win32”,这对于WPF应用程序是错误的。改用'Application(backend =“uia”)'。 –

回答

1

为了使此应用成为可自动化,开发人员必须将NotifyIconWPF包装在标准窗口中,具体情况取决于命令行开关。一旦完成,pywinauto就可以访问该应用程序的窗口。它看起来像Caliburn Micro,故意为此窗口类别禁用辅助功能。