|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|||||||||||
Имитация нажатия клавиши Tab в стороннем приложении (игре)08.09.2014, 15:26. Показов 6192. Ответов 27
Метки нет (Все метки)
Проблемка вот в чем. Скорее всего я не до конца понимаю принцип работы функций, которые использую.
Простая программка, через промежутки времени жмет на кнопку:
Но вот действия, которые должны просиходить в игре при нажатии Tab или того же нолика - не происходят. В чем пробема?
0
|
|||||||||||
| 08.09.2014, 15:26 | |
|
Ответы с готовыми решениями:
27
Имитация нажатия ПКМ в стороннем приложении Имитация нажатия на кнопки в стороннем приложении Перехват и имитация нажатия клавиши клавиатуры в чужом приложении |
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|||||||
| 08.09.2014, 16:39 | |||||||
1
|
|||||||
|
|
||
| 08.09.2014, 17:56 | ||
|
Там надо внедрятся в процесс и опрашивать и возвращать нажатия клавиатуры средствами DX или OGL, или на чем там эта игра написана.
1
|
||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|
| 08.09.2014, 18:29 | |
|
Пробовал в современной игре (думаю, не уместно говорить какой) - все спокойно эмулируется.
Ни разу не встречался со случаем, когда приложение видело разницу между эмуляцией и реальным нажатием.
1
|
|
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|
| 08.09.2014, 18:31 | |
|
1
|
|
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|||||||||||
| 08.09.2014, 20:07 [ТС] | |||||||||||
|
Я после того как тему создал, потом пошел и такую ерунду с кликом мыши сделал. Тоже не работало. Потом поставил задержку циклом, вроде заработало:
А вот с нажатием непосредственно кнопок не вышло. Делал так:
Точно что-то не так делаю. Может еще какие идеи есть?
0
|
|||||||||||
|
|
||
| 08.09.2014, 21:13 | ||
|
Для таких игр нужно использовать DirectInput, что то типа Microsoft.DirectX.DirectInput.Device(Sys temGuid.Keyboard). На VB6 такого кода не видел, но на Си он существует
1
|
||
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
||
| 08.09.2014, 21:30 [ТС] | ||
|
0
|
||
|
Модератор
|
|||
| 08.09.2014, 21:55 | |||
|
1
|
|||
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
| 08.09.2014, 22:20 [ТС] | |
|
А можно немножко подробнее о параметрах, или ссылочку, где почитать можно ?
![]() Я просто брал готовую строчку из интернета, вот и не знаю для чего конкретно каждый параметр.
0
|
|
|
Модератор
|
||
| 08.09.2014, 22:25 | ||
|
Ну по-хорошему нужно использовать SendInput, как написано в MSDN, но я объясню на примере keybd_event. Второй параметр (bScan) должен содержать аппаратный скэн-код клавиши. Получить его из виртуального кода можно функцией MapVirtualKey с параметром MAPVK_VK_TO_VSC.
1
|
||
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|||||||||||
| 08.09.2014, 23:15 [ТС] | |||||||||||
|
Спасибо)
0
|
|||||||||||
|
Модератор
|
|||||||
| 08.09.2014, 23:19 | |||||||
Сообщение было отмечено aptos как решение
Решение
2
|
|||||||
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
| 08.09.2014, 23:27 [ТС] | |
|
И снова спасибо!
![]() А можно спросить, в чем смысл скэн-кода клавиши и какое он значение имеет для эмулирования нажатия?
0
|
|
|
Модератор
|
|
| 08.09.2014, 23:30 | |
|
1
|
|
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
| 08.09.2014, 23:42 [ТС] | |
|
Что бы ты не объяснял, всегда получается. Спасибо
0
|
|
| 08.09.2014, 23:42 | |
|
Помогаю со студенческими работами здесь
20
Имитация нажатия клавиш в стороннем окне Нажатие кнопок в стороннем приложении (игре) Имитация нажатия Tab с помощью keybd_event Опрос нажатия кнопки в стороннем приложении Эмуляция нажатия клавиш в стороннем приложении Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|