Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 5

Взаимодействие с неактивным приложением

03.07.2020, 09:17. Показов 815. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как реализовать в java передачу нажатия клавиш в окно игры. Пишу бота и мне нужно отправлять две клавиши в игру даже когда игра свёрнута.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2020, 09:17
Ответы с готовыми решениями:

Взаимодействие со сторонним приложением
Здравствуйте, есть сторонняя программа, мне нужно выводить с нее информацию и передавать моей программе после каких то логических действий...

Взаимодействие с чужим приложением
Здравствуйте господа. Нужна ваша помощь по таким вопросам: 1. из своей программы мне нужно читать значения из памяти другого...

Взаимодействие с другим приложением
Всегда было интересно, возможно ли управлять элементами сторонних окон? Например в стандартном приложении calc.exe, сложить 1+1 и...

7
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
03.07.2020, 11:07
Возьми другой язык, autoit например
1
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 5
04.07.2020, 10:12  [ТС]
Я хотел реализовать это именно на java и сделать далее полноценную программу для создания макросов. Хотелось бы получить пример использования функции sendMessage из winApi в java с использованием библиотеки JNA. К сожалению, в интернете практически нет никаких примеров её использования.
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1386 / 411
Регистрация: 11.08.2017
Сообщений: 4,423
Записей в блоге: 2
04.07.2020, 11:20
BotGen, вряд ли кто будет заморачиваться с jna, и использованием winapi в джаве, джава кросплатформенная а эти jni/jna убирают эту особенность
и в готовом софте что то не часто встречаю jna, все почему то используют jni
jni требует сишного компилятора и сборки dll (для винды) для использования
да и как бы функции SendMessage вообще нету в winapi, это макрос определённый в windows sdk, многие функции winAPI имеют 2 версии - ansi (SendMessageA) и wide он же unicode (SendMessageW) и надо указывать какую использовать
да и далеко не все можно сделать с jna, в отличии от jni
если что то вот пример использования jni https://habr.com/ru/post/353294/
предупреждаю сразу что dll нужны битности не системы где выполняется программа а битности jre, а так же созданный dll будет работать только с тем классом который был использован для генерации и dll подключаются через аргумент к jvm
вот про подключение https://habr.com/ru/post/118027/
1
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 5
06.07.2020, 00:09  [ТС]
Мне кажется что я уже близок к тому чтобы без сторонних языков реализовать задачу. При помощи windows spy, я получил wparam и lparam. Запуск скрипта происходит после нажатия F8 в активном окне (пока в блокноте). Но вот не задача, сообщения доходят(чекнул в windows spy), но ничего в блокноте не выводиться. Пробовал и sendmessage и postmessage. В send получал ответ 0, то есть всё ок однако опять же ничего в блокноте не вывелось. Прикрепляю скриншоты с кодом:
0
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 5
06.07.2020, 00:14  [ТС]
Вот скрины
Миниатюры
Взаимодействие с неактивным приложением   Взаимодействие с неактивным приложением   Взаимодействие с неактивным приложением  

0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1386 / 411
Регистрация: 11.08.2017
Сообщений: 4,423
Записей в блоге: 2
06.07.2020, 09:44
Запуск какого скрипта? Не надо путать языки, в джаве скриптов нету, а со скриптами совсем другой язык.
0
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 5
07.07.2020, 09:50  [ТС]
Спасибо! Ваш ответ очень помог!
Если серьёзно, то зачем докапываться до слов, скриптом я назвал функцию WinApi.
Проблему решил сам.
Она заключалась в неправильном определении HWND функциями GetActiveWindow() и FindWindow().
К сожалению, я не знал что разные части GUI так же могут являться HWND.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2020, 09:50
Помогаю со студенческими работами здесь

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

GSM модем: обеспечить взаимодействие с приложением
Доброго времени суток! Объясните плз, как в с# "общаться" с модемом? пробовал так using System; using System.Collections.Generic; ...

[Qt][win] QProcess. Взаимодействие с консольным приложением.
Всем привет! В рамках изучения Qt решил приделать GUI к стороннему консольному приложению windows. (Исходников, естественно, нет) ...

Взаимодействие программы ПК с приложением Android/iOS
Добрый день! Подскажите какими средствами реализовать следующее: Хочу написать программу для ПК, которая необходима для проведения...

Бинарный файл, созданный одним приложением, не читается другим приложением
Добрый день. Проблема: Первое приложение создает List<MyClass> и сериализует в бинарный файл. Другое приложение, использующее MyClass, этот...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru