2010-01-07 28 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