【问题标题】:How can I send text when the window is minimized?窗口最小化时如何发送文本?
【发布时间】:2015-10-08 15:12:18
【问题描述】:

我尝试过使用 python 库:pyautogui + pwinauto。 但无济于事。 一旦窗口最小化,文本将不再发送。

代码sn-p:

import pyautogui
import time
pyautogui.hotkey('win')
time.sleep(1)
pyautogui.typewrite('notepad')
pyautogui.hotkey('enter')
time.sleep(2)
pyautogui.typewrite('test aaaaaaaaaaaaaa bbbbbbbbbbbb cccccccccc ')

【问题讨论】:

  • 根据pyautogui docs,您不能这样做:“在函数调用时,按键会转到键盘光标所在的位置。”
  • 哪一个?你程序的窗口还是目标窗口?
  • 目标窗口,在本例中为“记事本”。
  • 答案看起来正确但仍未被接受。很抱歉提醒您这样的旧线程。刚刚更新了最新 pywinauto 版本的答案。

标签: python pywinauto pyautogui


【解决方案1】:

pywinauto 可以将文本发送到最小化窗口。

from pywinauto import Application
app = Application(backend="win32").start('notepad.exe')
app.UntitledNotepad.minimize()
app.UntitledNotepad.Edit.set_text('some text\nsecond line')

type_keys() 方法要求控件处于焦点。但是set_text通过窗口句柄发送WM_SETTEXT消息,所以不需要焦点。

另一个处理最小化窗口的脚本示例:Python - Control window with pywinauto while the window is minimized or hidden

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 2016-04-28
    • 2012-09-02
    • 2020-10-01
    • 2021-03-14
    • 2010-11-06
    相关资源
    最近更新 更多