![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Dexx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: нет Всего: 7 |
Мне нужно чтобы в игре написанной с использованием DirectInput эмулировалось
нажатие на клавиатуре кнопки. Все перерыл не могу ни чего найти! ![]() ![]() -------------------- |
|||
|
||||
dpa |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.2.2006 Репутация: нет Всего: 1 |
Вариант для извращенцев - прямая запись в буфер клавиатуры.
Примеров на просторах сети немеряно. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
keybd_event
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Dexx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: нет Всего: 7 |
keybd_event не работает для тех кто незнает!
И где конкретно в просторах сети прямая запись в буфер клавы! Если в досе тоя и сам знаю! А в винде!? -------------------- |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
А в винде нет буфера. Точнее нет очереди символов.
Она отслеживает не очередь кнопок, а изменение состояние клавиатуры. GetKeyboardState. А вот изменить это состояние тебе поможет SetKeyboardState. |
|||
|
||||
Dexx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: нет Всего: 7 |
Я же говорю Win Api отдыхает!
Нужно что то низко уровневое! Кто нит пробовал TVicHW32! Если да поделитесь впечатсениями -------------------- |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
В DirectInput есть аналогичная функция по работе с клавиатурой.
Название не подскажу - нет под рукой SDK DirectX. Но общий смысл тот же - буфер клавиш. |
|||
|
||||
dpa |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.2.2006 Репутация: нет Всего: 1 |
Там же, где Вы нашли TVicHW32. Если Вы знаете как организовать это под DOS, то Вам не составит ни какого труда сделать то же самое и под win32. На ум пришло еще одно решение: как известно win посылает сообщения клавиатуры оконной процедуре того окна, которое в данный момент имеет фокус ввода. Так вот, что нам мешает посылать сообщения вместо винды? Ничего, кроме самой винды. Дабы отфильтровать Наши сообщения от виндовых ставим hook и смотрим от кого пришло сообщение. Если от нашей программы - пропускаем. Если нет - блокируем. Прошу не плеваться, если что-то здесь не так. Под винду я никогда не кодил, да и не собираюсь... Но, на сколько я знаю архитектуру win, это реализуемо. Поправьте меня, если я не прав. |
|||
|
||||
Dexx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: нет Всего: 7 |
Не прав!
Я же говорю Win Api отдыхает! Добавлено @ 13:54 И еще Dos это Dos, не вызаву же я в Win32 прерывание BIOS int 16! Как в досе. -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |