2011-04-29 59 views
0

我正在嘗試編寫一個工具來自動安裝二進制文件。基本上,我使用comtypes和MSAA接口與安裝窗口進行交互並驅動安裝過程。當一個窗口彈出時,我遞歸枚舉此窗口上的所有元素,選擇最適合的元素(通常是一個按鈕)進行交互,等等。該工具有時可以正常工作。但有時,列舉元素可能需要很長時間(對於不太複雜的窗口,可能需要長達1.5分鐘)。這個問題似乎與時間有關。它一直都不開心。我一直堅持這個問題。有人可以幫忙嗎?請!!!COM通信非常慢(comtypes和MSAA問題!)

我能想到的一種可能性是:當我枚舉一個窗口時,這個窗口被目標應用程序銷燬,然後COM被打亂並且無法進一步導航。這可能是一個潛在的原因嗎?我無法說服自己,因爲窗口終於被列舉出來。如果窗口在枚舉期間消失,則窗口元素樹的遍歷應該失敗,不是?

回答

0

嘗試分析腳本直到問題發生,然後查看分析信息以找出額外時間的花費。