Как передать нажатия клавиш не активному окну?

Есть окно с игрой и небольшой скрипт который жмет кнопки и через некоторое время кликает мышкой по координатам окна игры
как сделать чтобы эти действия были в фоне и не мешали работе за пк
import pyautogui
import time

while True:
    time.sleep(3)
    pyautogui.keyDown('space')
    time.sleep(1.5)
    pyautogui.keyUp('space')

    time.sleep(0)
    pyautogui.keyDown('space')
    # w=0
    # while w!=30:
    #     pyautogui.keyDown('enter')
    #     time.sleep(0.1)
    #     pyautogui.keyUp('enter')
    #     time.sleep(2)
    #     w+=1
    time.sleep(90)
    pyautogui.keyUp('space')

    x, y = 1068, 950
    pyautogui.moveTo(x, y)
    pyautogui.click()
  • Вопрос задан
  • 6627 просмотров
Пригласить эксперта
Ответы на вопрос 3
@felamonpardon
Привет, немного поздновато, но вдруг кому пригодится.
Сам ломал голову как послать клик и написать любую букву в НЕ активное окно .
На примере использовался обычный блокнот.
Код:
import win32gui
import win32api
import win32con
import time
#import pyautogui


def click(x,y):
    hWnd = win32gui.FindWindow("Notepad", None)
    #print(str(hWnd))
    childHWND = win32gui.FindWindowEx(hWnd, None, "Edit", None)
    #print(str(childHWND))
    lParam = win32api.MAKELONG(x, y)
    #клик
    win32api.SendMessage(childHWND, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
    win32api.SendMessage(childHWND, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, lParam)
    time.sleep(1)
    temp = win32api.PostMessage(childHWND, win32con.WM_CHAR, 0x44, 0) #пишет букву
click(50,50)
Ответ написан
djdeniro
@djdeniro
DeNet
Как топорное решение - поставить все это дело в виртуалку.
Если это браузерная игра:
Лекго: переписать на JS и запускать из консоли
Средне: узнать запросы и автоматизировать на python
Ответ написан
@Hayzy
А win32api, win32con и win32con работают на windows 64?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы