Python 此pywinauto异常从何处获取其列表?

Python 此pywinauto异常从何处获取其列表?,python,python-2.7,pywinauto,Python,Python 2.7,Pywinauto,如果我跑步: from pywinauto.findwindows import find_windows find_windows(best_match="affafa") 我得到一个返回的异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\Python27\lib\site-packages\pywinauto\findwindows.py", l

如果我跑步:

from pywinauto.findwindows import find_windows

find_windows(best_match="affafa")
我得到一个返回的异常

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "c:\Python27\lib\site-packages\pywinauto\findwindows.py", line 204, in find_windows
   best_match, wrapped_wins)
 File "c:\Python27\lib\site-packages\pywinauto\findbestmatch.py", line 497, in    find_best_control_matches
   raise MatchError(items = name_control_map.keys(), tofind = search_text)

   pywinauto.findbestmatch.MatchError: Could not find 'affafa' in '[u'CabinetWClass', u'Inbox (1,455) - ******@gmail.com - Gmail - Google Chrome', u'Chrome_WidgetWin_1', '', u'*new  2 - Notepad++Notepad++', u'python - Where does this pywinauto exception get its list from? - Stack Overflow - Google ChromeChrome_WidgetWin_1', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass1', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass0', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass2']' # this list has been shortened for security reasons
但是所有的find_windows选项都只返回文档中的数字列表,我认为这些数字是进程ID…,由于某些原因,它们与我拥有的不匹配(例如,我创建了一个“计算器”,其进程ID为6566,然后我运行find_windows()我在其中找不到进程ID。所以这是我面临的另一个问题……但是如果我能得到我的巨大列表,我可以解决这个问题


这是我关于堆栈溢出的第一个问题。我希望我让你们感到自豪。如果你们想得到所有窗口的名称列表,你们应该使用下一个结构

handles = pywinauto.findwindows.find_windows()
for w_handle in handles:
    wind = app.window_(handle=w_handle)
    print wind.Texts()
您可以通过
find\u windows
函数的下一个参数筛选/扩展列表:

  • 顶层\仅顶层窗口(默认值=真)
  • 仅可见\u仅可见窗口(默认值=真)
  • 已启用\u仅启用windows(默认值=True)
  • 仅活动\仅活动窗口(默认值=False)

您是在寻找名为“affafa”的窗口还是进程名称?我确信“最佳匹配”是标题名称。“affa”只是一个随机字符串,只是为了查看异常消息。我想直接访问异常通过名称而不是进程号获取其巨大进程列表的位置。实际上,您是在您的swapy dog icon程序中这样做的。左侧显示的列表框是我想以列表格式获取的。哦,我刚刚理解了你想要的。你走对了。问题是find_windows返回的不是进程ID,而是windows的句柄。添加问题的答案。我忘记了句柄。谢谢!
handles = pywinauto.findwindows.find_windows()
for w_handle in handles:
    wind = app.window_(handle=w_handle)
    print wind.Texts()