【问题标题】:pywinauto : impossible to keep the window in the backgroundpywinauto:不可能将窗口保持在后台
【发布时间】:2017-09-25 14:07:06
【问题描述】:

我在 python 3.6 上使用 pywinauto 来自动控制软件:

import pywinauto as pwa
app = pwa.Application()
app.connect(best_match='WinSpec')

在控制它时,我需要将窗口保持在背景上。 我的问题是,每次我发送命令时,窗口都会在前台弹出。例如,使用以下命令:

app['WinSpec'].menu_select('File')

我该如何解决? 提前感谢您的帮助:-)

【问题讨论】:

  • 打开主菜单时不确定是否可行(原因可能在应用程序方面)。当然,您可以随时使用app['WinSpec'].minimize()。但这并不能完全解决问题。
  • 是的,但是应用程序正在闪烁。不过谢谢你的回答。
  • ControlSend, Edit1, This is a line in minimized notepad., Untitled

标签: python python-3.x automation pywinauto


【解决方案1】:

我检查了源代码,在menuwrapper.py 中找到了self.ctrl.set_focus() 行。当我将此注释掉时,方法 menu_select 不适用于记事本。

所以答案是:这是不可能的,因为 WM_COMMAND 消息只有在主窗口处于焦点/活动状态时才由应用程序处理。

部分解决方法(应用程序会闪烁):app['WinSpec'].minimize()

【讨论】:

  • 感谢您的测试。事实上,最后一个解决方案正在闪烁,所以在这种情况下,让它在前台可能更方便..
猜你喜欢
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 2018-12-18
  • 2011-06-30
相关资源
最近更新 更多