python нажатие клавиш мышки по координатам внутри приложения

Рейтинг: 0Ответов: 1Опубликовано: 07.06.2023

Собственно вопрос, как например подключится к exe приложению(зная pid процесса), например к игре и далее с эмулировать нажатия клавиш мышки и клавиатуры, как сделать с помощью например win32api, win32con понимаю, но хочу чтобы мышка компьютера была свободная в это время

Как это правильно называется чтобы загулить? по запросу "python inject in exe/game" ничего не могу найти или может библиотеки посоветуете Спасибо за любые наводки!

Ответы

▲ -1
import win32api
import win32con

pid = 12345 # replace with the PID of the target process

# Set up a mouse event hook
def mouse_event(event):
    input_type = win32con.INPUT_MOUSE
    flags = win32con.MOUSEEVENTF_ABSOLUTE | win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP
    x = int(event.x * (65535/win32api.GetSystemMetrics(win32con.SM_CXSCREEN))) # normalize screen coordinates
    y = int(event.y * (65535/win32api.GetSystemMetrics(win32con.SM_CYSCREEN)))
    data = win32api.MAKELONG(x, y)
    extra_info = 0
    
    # Inject the mouse event
    input_event = win32con.INPUT(type=input_type, mi=win32con.MOUSEINPUT(dx=x, dy=y, mouse_data=0, dw_flags=flags, time=0, dw_extra_info=extra_info))
    win32api.SendInput(1, (input_event,))

# Set up the hook
mouse_hook = win32api.SetWindowsHookEx(win32con.WH_MOUSE_LL, mouse_event, win32api.GetModuleHandle(None), 0)

# Wait for the user to close the program
win32api.PumpMessages()