Как на питоне нажать клавишу для полноэкранного приложения(например, игра некая)? можно ли это вообще? При развёрнутом полноэкранном приложении когда наступит некое событие чтоб скрипт (или может служба) нажали клавишу.
Че ты несёшь? Цель сего упражнения что бы при запущенном полноэкранном приложении(уточню - игре) нажать на 1 клавишу, это событие словить на питоне и сэмулировать нажатие определенной последовательности клавиш. А тебе поменьше курить советую
PHP: import ctypesimport timeSendInput = ctypes.windll.user32.SendInput# C struct redefinitionsPUL = ctypes.POINTER(ctypes.c_ulong)class KeyBdInput(ctypes.Structure): _fields_ = [("wVk", ctypes.c_ushort), ("wScan", ctypes.c_ushort), ("dwFlags", ctypes.c_ulong), ("time", ctypes.c_ulong), ("dwExtraInfo", PUL)]class HardwareInput(ctypes.Structure): _fields_ = [("uMsg", ctypes.c_ulong), ("wParamL", ctypes.c_short), ("wParamH", ctypes.c_ushort)]class MouseInput(ctypes.Structure): _fields_ = [("dx", ctypes.c_long), ("dy", ctypes.c_long), ("mouseData", ctypes.c_ulong), ("dwFlags", ctypes.c_ulong), ("time",ctypes.c_ulong), ("dwExtraInfo", PUL)]class Input_I(ctypes.Union): _fields_ = [("ki", KeyBdInput), ("mi", MouseInput), ("hi", HardwareInput)]class Input(ctypes.Structure): _fields_ = [("type", ctypes.c_ulong), ("ii", Input_I)]# Actuals Functionsdef PressKey(hexKeyCode): extra = ctypes.c_ulong(0) ii_ = Input_I() ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008, 0, ctypes.pointer(extra) ) x = Input( ctypes.c_ulong(1), ii_ ) ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))def ReleaseKey(hexKeyCode): extra = ctypes.c_ulong(0) ii_ = Input_I() ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008 | 0x0002, 0, ctypes.pointer(extra) ) x = Input( ctypes.c_ulong(1), ii_ ) ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))# directx scan codes http://www.gamespp.com/directx/directInputKeyboardScanCodes.htmlwhile (True): PressKey(0x11) time.sleep(1) ReleaseKey(0x11) time.sleep(1)
Спасибо! То что и искал! Немножко допилить напильников, запихнуть словарь с кодами подпихну и рабочая версия на 100%.