Главная страница
    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.007 c
2-1213435120
Kaer
2008-06-14 13:18
2008.07.13
Как избавиться от "Out of memory"?


2-1213366793
Sten
2008-06-13 18:19
2008.07.13
Иконка в заголовке формы


15-1212012284
Житель_форума
2008-05-29 02:04
2008.07.13
Карта местности


15-1212351902
Умище-00013
2008-06-02 00:25
2008.07.13
Как скоро анкеты заспамят?


3-1201785404
Валентин Иванов
2008-01-31 16:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский