Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Вниз

Как вызвать программное нажатие клавиши в играх?   Найти похожие ветки 

 
Danco ©   (2008-06-06 16:55) [0]

Подскажите пожалуйста, как вызвать программное нажатие клавиши в играх?

Допустим нужно нажать стрелку вверх:

keybd_event(VK_UP, 0, 0, 0);
keybd_event(VK_UP, 0, KEYEVENTF_KEYUP, 0);


Выше приведенный код работает, но в игре не хочет, никаких действий не происходит.

Как обойти эту проблему и вообще возможно ли это? Заранее СПС!


 
ZENsan ©   (2008-06-06 18:44) [1]

KeyboardEvent


 
Danco ©   (2008-06-07 17:30) [2]


> ZENsan ©   (06.06.08 18:44) [1]
>
> KeyboardEvent

Нет такой функции ...или я что то не так понял? =)


 
redlord   (2008-06-07 19:13) [3]

keybd_event
но боюсь она в приложениях opengl и directx не прокатит так как там нет окон.
тебе надо в драйвер устройств ввода значения посылать
SendInput


 
Renegat   (2008-06-07 19:42) [4]

А если "вводить" напрямую в буфер клавиатуры (с помощью OUT 64h)?


 
Danco ©   (2008-06-07 21:11) [5]

уфф.... оказывается не так все просто ...может кто нить написать пример? а то вообще не понимаю что куда? =(


 
Renegat   (2008-06-07 21:20) [6]

http://www.wasm.ru/article.php?article=apihook_3
Читаем и фкуриваем до полного просветления.
Там в примере на холодный сброс ЦП есть строчка OUT 64h, AL. Пишешь в AL любой байт - и передаётся нужный символ. Запомни одно: это не сам символ, а лишь его сканкод.


 
Danco ©   (2008-06-07 22:53) [7]


> Читаем и фкуриваем до полного просветления.

Спасибо за статью, почитал , но так ничего и не вкурил. Пробовал одни ошибки выскакивают.

Можно пожалуйста простой работающий пример:
procedure xxx();
begin

end;


Три дня мучаюсь, ответа найти никак не могу. =))


 
Amoeba ©   (2008-06-08 00:17) [8]


> Danco ©   (06.06.08 16:55)
>
> Подскажите пожалуйста, как вызвать программное нажатие клавиши
> в играх?

Общего абстрактного решения нет. Для каждой игры  - свое решение.


 
Danco ©   (2008-06-14 01:05) [9]


> Общего абстрактного решения нет. Для каждой игры  - свое
> решение.

Вообще для каждой программы свое решение :)

Весь инет перекопал ничего не нашел. Плохо искал наверно. Допустим у этой игры есть окно, можно ли отыскать и нажать с помошью перехвата сообщения? И каким методом это делается? :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
2-1213621632
snake-as
2008-06-16 17:07
2008.07.13
Простая хэш - функция


3-1201846390
Виталий Панасенко
2008-02-01 09:13
2008.07.13
АДО и запрос к гетерогенным источникам данных


2-1213603321
Dmitry
2008-06-16 12:02
2008.07.13
#13#10


15-1212225113
Григорьев Антон
2008-05-31 13:11
2008.07.13
Как отучить висту лезть в чужую сеть?


15-1211874362
версия для печати
2008-05-27 11:46
2008.07.13
Замена множества компонент в проекте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский