Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)
  • telegram

    • 0 ответов
    • 0 вопросов
    0 Вклад в тег

Лучшие ответы пользователя

Все ответы (1)
  • Как привязать скрипт python к окну игры?

    @Aress9
    Задача не такая уж и простая, но реализовать возможно.

    Я дам описание как я сделал нажатие клавиши в блокноте. Для ваших задач вы должны сами придумать реализацию.

    Первое что понадобиться сделать, это получить идентификатор окна для дальнейшего с ним взаимодействия. Используем функцию FindWindow передавая первым параметром None, а вторым заголовок окна, его можно посмотреть используя Spy++ или WinSpy++.
    hwnd = win32gui.FindWindow(None, "Безымянный – Блокнот")

    Второе, найти класс окна, куда требуется отсылать сообщения (вам возможно не понадобится). Для этого используем функцию FindWindowEx. В моём случае требуется подкласс "Edit", его название также можно получить с помощью WinSpy++.
    editClass = win32gui.FindWindowEx(hwnd, None, "Edit", None)

    Чтобы отправить сообщение о каком-либо действии в окно, используйте функцию SendMessage. Передавая ему идентификатор класса, само действие, и дополнительные к нему параметры(подробнее смотрите в документации к WinApi). Просто отправить команду может не сработать, в таком случае проследите сообщения вводимые вами в окно с помощью Spy++.
    win32gui.SendMessage(editClass, win32con.WM_CHAR, 0x7A, 0) #Ввод символа 'z' в класс "Edit"


    Весь мой код:
    import win32gui
    import win32con
    
    hwnd = win32gui.FindWindow(None, "Безымянный – Блокнот")
    editClass = win32gui.FindWindowEx(hwnd, None, "Edit", None)
    win32gui.SendMessage(editClass, win32con.WM_CHAR, 0x7A, 0)
    Ответ написан
    Комментировать