¿Por qué algunas aplicaciones no aceptan algunas teclas de envío en algunas ocasiones?

Este es un problema con el que me he encontrado antes, pero siempre he renunciado a resolver el problema y resolví el problema. Hoy no (con suerte).

Estoy tratando de hacer un bot para el clásico Doom II. Quiero que mi bot tenga acceso al menú principal al que se accede mediante la tecla de escape. Naturalmente probé:

sendkeys.send("{ESC}")

Sin suerte. Pero entonces sucedió algo extraño. Accidentalmente ejecuté el código cuando ya estaba en el menú ... y cerró el menú (lo cual es normal si presionas escape en el menú). Claramente, Doom II escucha Sendkeys.

Desde entonces he intentado sendinput, postmessage y simulateinput. Ninguno ha funcionado (todos tienen el mismo comportamiento que se describe con sendkeys).

Sería genial si alguien pudiera montar un caballo blanco y darme un código para solucionar este problema, pero aparte de eso, ¿alguien puede simplemente explicarme este comportamiento?

Respuestas a la pregunta(1)

Su respuesta a la pregunta