使用pywinauto.top_窗口()与线程一起使用时挂起

2024-04-26 04:38:50 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我创建一个线程,它所做的只是连接到某个进程并获得其顶部窗口,那么程序就会挂起。在

我调试了一下,它似乎被困在了comtypes中_base.from_参数。这是整个回溯过程:

...
-> self.top_win = self.app.top_window()
  c:\python27\lib\site-packages\pywinauto\application.py(1095)top_window()
-> backend=self.backend.name)
  c:\python27\lib\site-packages\pywinauto\findwindows.py(197)find_elements()
-> cache_enable=True)
  c:\python27\lib\site-packages\pywinauto\uia_element_info.py(272)children()
-> return self._get_elements(IUIA().tree_scope["children"], cond, cache_enable)
  c:\python27\lib\site-packages\pywinauto\uia_element_info.py(261)_get_elements()
-> ptrs_array = self._element.FindAll(tree_scope, cond)
> c:\python27\lib\site-packages\comtypes\__init__.py(970)from_param()
-> return value

在pdb中键入step后,它将显示以下内容,然后冻结:

^{pr2}$

似乎问题是在线程中使用comtypes,我试图调用pythoncom.CoInitialize公司()在调用线程中(也在main中),但它没有帮助。在

在这里能做什么?在

谢谢。在


Tags: frompyselfbackendlibpackagestopsite