Привет. Я не знаю, возможно ли это, но стоит попробовать. Скажем, есть сторонняя гоночная игра, в которой не используется мышь. Есть ли способ создать приложение Windows Form, которое прослушивает щелчки мыши и передает соответствующий ключ в игру/активное окно (например, щелчок левой кнопкой мыши будет отправлять клавишу «Стрелка вверх» для ускорения, щелчок правой кнопкой мыши будет замедляться, отправляя клавишу «стрелка вниз»). Я просмотрел метод SendKeys, но он не работает, когда игра становится активным окном. Любые идеи? Спасибо
Отправить ключ в активное окно
Ответы (2)
если игра использует DirectInput для чтения ключей, то SendKeys не будут работать, так как DI работает на уровне драйвера, а SendKeys/SendInput
работает на уровне API, который может быть слишком «высоким» для игры. вы можете подключиться к DirectInput и отправлять ему команды, но его не будет однострочным, и если вы новичок в DirectX, вам это не понравится.
SendMessage WM_CHAR
, который будет легче протестировать, чем любое решение DX
- person jasper; 02.11.2010
Я не знаю, будет ли это работать, и если это возможно, но интуитивно я бы проверил, есть ли какая-то библиотека AutoIt для C #.
Насколько я знаю, у AutoIt нет проблем с отправкой событий нажатия клавиш в игры. В Интернете существует несколько способов интеграции AutoIt в C#, но пока я еще не пробовал ни один из них.
Тем не менее вы можете попробовать http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx