2017-12-07 34 views
0

親デスクトップを持つ5つのウィンドウ(1つのウィンドウ、4つのウィンドウ)を持ち、同じprocess_idを共有するアプリケーションがあります。私はこのような何かをしようとするとPyWinAuto - 同じプロセスIDを持つアプリケーション(複数のウィンドウ)

for line in pywinauto.findwindows.find_windows(process=proc_id): 
    print line ### this will print all 5 handles of windows 
    app = Application().connect(handle=line) ### this will connect to specific handle 
    app.top_window().set_focus() ### this will set focus ONLY to one window and bring it to forward 
    time.sleep(5) 

FORループこれは、1つのウィンドウに前進5秒ごとに(1つの制御タイプ=「ウィンドウ」要素と4time制御タイプ=「ペイン」の要素)を持参してくださいしかし、これは唯一の意志1つのウィンドウを転送し、それ以外のものは転送しません。ウィンドウは変更されません。

おかげ

答えて

0

top_window()は常に最初にトップウィンドウを選択しますので。この方法で他にどんなことを期待できますか?とにかく、私たちはそれを再設計または除去する計画を持っています。

あなたの目的のために右の方法がされてapp.windows():

for w in app.windows(): 
    print(w.window_text()) 
    w.set_focus() 

注:app.windows())(これのみ.children()または.descendantsをリスト、ラッパーのリストを返します。高度な暗黙の待ちとより詳細な検索仕様なしで可能です。

関連する問題