Эмуляция нажатия клавиш в приложении под управлением DirectX - Visual Basic .NET
Формулировка задачи:
Доброго времени.
Перелопатил кучу инфы, и слегка запутался.
Задача - клацнуть клавишей в приложении под управлением DirectX
Простой короткий код, половина которого работает, половина нет:
Почитал вот эти источники (и еще кучу других):Имитация нажатия клавиши Tab в стороннем приложении (игре)http://visualbasic.happycodings.com/api-and-miscellaneous/code38.html[ссылка на форум]
Пришел к выводу, что надо получить скэн-код клавиши Q в переменную, скажем, lScan. и поставить во вторую позицию в функцию keybd_event:
И все, на этом встрял. MapVirtualKey(VK_Q, 0) - это неправильный код, туда надо передавать вместo VK_Q какой-то код клавиши wCode типа long, а где его взять - хз, и что это вообще такое?
Можете мне объяснить, где взять нужный код для клавиши (не byte а long)? Или я вообще не в ту степь залез? и почему эмуляция мышки работает, а аналогичная эмуляция клавиатуры - нет?
Во второй приведенной мной ссылке есть метод получения этого кода клавиши, но я его не понимаю, у меня он вообще не работает (VS2010 Ultimate):
У меня подчеркивает cChar (ключевое слово не может использоваться в качестве идентификатора)
Вобщем, помогите, пожалуйста, разобраться в каше в моей голове.
Решение задачи: «Эмуляция нажатия клавиш в приложении под управлением DirectX»
textual
Листинг программы
keybd_event(VK_Q, VK_Q_SCAN, 0, 0) 'нажимаем клавишу Q Thread.Sleep(50)' ждем 50 мс keybd_event(VK_Q, VK_Q_SCAN, KEYEVENTF_KEYUP, 0) ' отпускаем клавишу Q
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д