Новичок
-
Автор темы
- #1
Здравствуйте, передо мной стоит задача отправить нажатие клавиши в неактивное окно. Использую win32api и всякие другие win32 (con, gui и т.д.), отправляю SendMessage'ом (PostMessage не работает). У меня есть pid, handle, название окна и название процесса. Работает только в активном окне.
Окно одно и дочерних окон не имеет! Есть только главное окно. Хендл точный!
Есть кусочек кода (не назову его своим), который работает только в активное окно: (не умею тут вставлять код)
import win32gui
import win32api
import win32con
import time
time.sleep(2)
def click(x, y):
hwnd = win32gui.FindWindow(None, 'RAGЕ Мultiрlayеr') # Получает хендл окна
lParam = win32api.MAKELONG(x, y) # Задает координаты клика
time.sleep(0.3)
# Кликает по координатам
win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
time.sleep(5)
win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, lParam)
time.sleep(0.3)
# Пишет нужную букву
win32api.SendMessage(hwnd, win32con.WM_CHAR, 0x44, 0)
click(933, 586)
Окно одно и дочерних окон не имеет! Есть только главное окно. Хендл точный!
Есть кусочек кода (не назову его своим), который работает только в активное окно: (не умею тут вставлять код)
import win32gui
import win32api
import win32con
import time
time.sleep(2)
def click(x, y):
hwnd = win32gui.FindWindow(None, 'RAGЕ Мultiрlayеr') # Получает хендл окна
lParam = win32api.MAKELONG(x, y) # Задает координаты клика
time.sleep(0.3)
# Кликает по координатам
win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
time.sleep(5)
win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, lParam)
time.sleep(0.3)
# Пишет нужную букву
win32api.SendMessage(hwnd, win32con.WM_CHAR, 0x44, 0)
click(933, 586)