2010-01-07 62 views
2

我寫了一個Python應用程序必須能夠發送鍵或文本到其它應用程序。例如,如果我打開Firefox,我應該可以發送一個URL來打開它。獲取打開的窗口列表在Python

我已經有了的SendKeys模塊,我已經讀到的win32模塊太多,但我不知道是否有篩選出過程中沒有打開的窗口的方式。

+0

試試這個:http://stackoverflow.com/questions/14653168/get-hwnd-of-each-window-python 蜻蜓沒有移植到Python3.x – hemn 2013-06-16 15:04:47

回答

3

通常情況下,對於這種「GUI自動化」的pyWinAuto是一個很好的路要走。我們使用它來允許GUI應用程序的自動化測試,並且它應該讓您「將」URL輸入到Firefox中(更不用說找到它的窗口)。

+0

感謝指向這個模塊。這似乎是我需要的。 ;)進行測試。 – masterLoki 2010-01-07 18:35:02

+1

我以爲你可能想知道你提供的pyWinAuto鏈接會導致不再維護的站點。它有一個新的網站,http://code.google.com/p/pywinauto/ – 2013-12-22 22:02:41

+0

@某人或其他感謝指出。我更新了鏈接。 – 2013-12-22 23:44:18

2

即使您需要使用自動化功能來執行應用程序的其他操作,使用webbrowser模塊打開用戶瀏覽器中的URL也可能會更容易。

+0

不知道這個模塊,但我可以授予,這是一個大傷腦筋保護程序,因爲這是從C#應用程序重寫。發送命令給瀏覽器是地獄。 – masterLoki 2010-01-07 18:55:54

2

嘗試使用dragonfly。它內置了很多自動化的東西。您不需要語音識別部分就可以使用自動化的東西。例如:

from dragonfly import Window 
Window.get_all_windows() 

將返回所有窗口的列表。

你也想看看蜻蜓FocusWindow()Keys()對象。

+0

Woot,這工作完美! – darrickc 2010-06-30 18:21:59

+0

蜻蜓再也沒有Window模塊了。 – 2014-10-12 21:26:35