SendMessage и Steam
Steam принимает нажатия только с SetForegroundWindow() как сделать без фокуса? Очень долго пытаюсь найти решение. Буду благодарен любой помощи.
import time
import win32api
import win32con
import win32gui
hwndMain = win32gui.FindWindow(None, 'Steam Guard — Необходима авторизация компьютера')
win32gui.SetForegroundWindow(hwndMain)
time.sleep(0.1)
win32api.SendMessage(hwndMain, win32con.WM_CHAR, 0x44, 0)
Ответы (1 шт):
Автор решения: VAntonuk
→ Ссылка
Некоторые программы для отсеивания лишних нажатий проверяют окно в фокусе. Я вижу 2 варианта 1 - dll hook 2 - получать активное окно через getForegroundWindow, и после операций со стимом возвращать его
import time
import win32gui
if __name__ == '__main__':
print("ready in 3 ")
time.sleep(3.0)
previous = win32gui.GetForegroundWindow()
print("captured ; swap window")
print("ready in 3 ")
time.sleep(3.0)
win32gui.SetForegroundWindow(previous)
print("old window foregrounded")