隐藏视窗(pywinauto)

时间:2018-07-23 19:04:19

标签: python-3.x pywinauto

import pywinauto

from pywinauto.application import Application

PATH = 'c:/Users/User/PycharmProjects/InviterChannel/Telegram/Telegram.exe'
app = Application().start(PATH)
app.Telegram.ClickInput(coords=(330, 530))  # This is what the user should not see
  1. 是否可以在继续单击窗口的同时隐藏窗口?

  2. 如何做到?

任务是向用户隐藏算法的作用(键盘输入,鼠标单击等)

1 个答案:

答案 0 :(得分:2)

anyoung@ANYOUNG-LTW7 /cygdrive/c/Users/anyoung/test/temp/Image-Crawler $ python3 main.py Traceback (most recent call last): File "main.py", line 4, in <module> import requests ModuleNotFoundError: No module named 'requests' .click_input()方法都需要活动窗口。

有时只有最小化窗口(在.type_keys()之后)才有键盘输入的解决方法:

  • app.Telegram.minimize().send_keys()(某些可能有效或无效的特殊键可能会有所不同。)
  • 我还没有听说过类似的鼠标操作可能性。也许.send_keystrokes()会有所帮助。窗口将具有负坐标。它将成为焦点,但对用户不可见。因此通常app.Telegram.move_window(x=-1000, y=-1000).click_input()应该可以工作,但是这些操作可能会打扰用户。因此,您必须记住鼠标光标(通过.type_keys())并通过win32api.GetCursorPos()快速将其取回。还需要将焦点切换回上一个活动窗口。

P.S。我怀疑移动Telegram窗口是否可以工作,因为据我所知,它不能用手移动。他们可能对此采取了一些防御措施。 :)