В основном Windows имеет три защитных кольца .Делая SendKeys
, вы отправляете команду ring 3 приложению.Однако DirectX слушает только команды «0» и «1» (возможно, «2»), чтобы уменьшить задержку дроби, вызванную передачей команды через драйвер приложению.
Таким образом, чтобы игры DirectX реагировали на событие, которое вы отправили, вы должны отправить его на уровне драйвера.Вы можете смоделировать ввод драйвера ring 2 с помощью pinvoke WINDOWS api SendInput с кодом сканирования (не используйте виртуальный код).
Если код сканирования не работает, возможно, игра блокирует команды ring 2 для защиты от взлома.В этом случае вам нужно написать драйвер + виртуальное оборудование для прямой отправки команд кольца 1.(не пытайтесь сделать это, если у вас нет опыта. Синий экран смерти или даже поврежденная система может привести к ошибке)