Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,837
Записей в блоге: 4

Как нажать клавишу в окне запущенного процесса?

18.12.2021, 20:38. Показов 2212. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Предположим я запускаю браузер Хром и мне нужно нажать клавишу "вниз", что для этого нужно сделать? Инструкция читал но там нет примеров и в целом раскрыта информация очень плохо и исчерпывающе не могу понять что можно делать с окнами на собственном ПК?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2021, 20:38
Ответы с готовыми решениями:

Программно нажать клавишу клавиатуры в чужом окне
Ребят , что не так не могу разобраться , может программа обрабатывает нажатие по другому... Есть игрушка ...требуется нажимать Q и E...

[DEBUG] Вывести слово на экран и нажать любую клавишу, она должна отразиться в окне
Работа в debug.exe Вывести слово на экран и нажать любую клавишу, она должна отразиться в окне. Вот моя программа A Db “SVETA$” Mov...

Как программно нажать клавишу
По теме вроде как понятно. Ребят подскажите пожалуйста...

6
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
19.12.2021, 02:04
Самый простой способ -- вызов функции keybd_event() или SendInput().
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,837
Записей в блоге: 4
19.12.2021, 02:08  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Самый простой способ -- вызов функции keybd_event() или SendInput().
Работает но тут нужно строго следить чтобы окно было на переднем плане. Я хотел бы решить проблему через оконные сообщения.
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
19.12.2021, 02:41
Это намного сложнее, плюс приложение легко может игнорировать ввод, если его окно в данный момент не активно (игры, например, активно пользуются этой возможность для борьбы с читерами и ботоводами).
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,837
Записей в блоге: 4
19.12.2021, 04:11  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Это намного сложнее, плюс приложение легко может игнорировать ввод, если его окно в данный момент не активно (игры, например, активно пользуются этой возможность для борьбы с читерами и ботоводами).
ну тут как бы речь и в развитии и в прямой и более точной подаче команды. В моём случае это неудобно и я хотел бы разобраться именно с оконными сообщениями.
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
19.12.2021, 04:38
Тогда вам нужно:
1. Определить дескриптор окна, которое ждет ввода. Само по себе это не такая простая задача, особенно если приложение не простроено на базе стандартных контролов/окон win32. Тут помогут инструменты типа Spy++
2. Слать ему правдоподобные последовательности из wm_keydown и wm_keyup
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,837
Записей в блоге: 4
19.12.2021, 06:01  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Само по себе это не такая простая задача, особенно если приложение не простроено на базе стандартных контролов/окон win32
Видео контроллер подключен к материнской плате, а материнской платой управляет процессор и если отдана задача загрузить видео на видяху то он должен это сделать. Отсюда вывод что с видеоконтроллером мы всё равно должны взаимодействовать. Большинство приложений и будет работать на нестандартных средствах. Какой функцией можно послать сообщение. SetMessage и PostMessage не работают. Хотя последняя возвращает ошибку 1159, пишет что типа окно занято, почему не понятно. Я так понимаю чтобы послать туда сообщение нужно активировать окно, переключить туда фокус клавиатуры а затем посылать предложенные вами сообщения, я правильно понял?
Миниатюры
Как нажать клавишу в окне запущенного процесса?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2021, 06:01
Помогаю со студенческими работами здесь

Как программно нажать клавишу [=] и [-]?
Почти все поисковики перерыл, а ответа так и не нашел =( Мне нужно программно нажать клавиши и , те которые следуют за (1,2,3,4 ......

Как программно нажать на клавишу WIN?
Да, есть класс SendKeys, с помощью которого можно программно нажимать на клавиши(даже статья есть *ссылка ниже) но там нет упоминания про...

Как нажать клавишу нарисованную на картинке
Добрый день, помогите пожалуйста с вопросом. В определенной части экрана будут появляться картинки и по этим картинкам надо чтобы программа...

Как программно нажать клавишу Windows?
Знаю подобных вопросов на форуме много, но все же прочитав большую их часть, я не нашел ответа, как же все таки программно нажать на...

как программно нажать клавишу Enter?
как программно нажать клавишу Enter? Спасибо, Антон.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru