2017-08-10 53 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,故意爲此窗口類別禁用輔助功能。