Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 18
1

Как получить и взаимодействовать с QWidgets сторонней программы

16.11.2019, 17:39. Показов 781. Ответов 5

Author24 — интернет-сервис помощи студентам
У меня есть Application A которая является сторонним приложением Windows (с графическим интерфейсом), и которая использует библиотеку Qt.

Я хочу написать Application B которая будет отвечать за запуск Application А, чтобы Application B также находила кнопки в Application А (QWidgets) и отправляла им ввод с помощью мыши (щелчок, двойной щелчок и т. д.).

Все что смог найти это и это

Но я совершенно не понял как это сделать. Как интегрировать свою dll в стороннюю программу, как ее вызвать из Application A?

В Qt новичек, пробовал создать dll библиотеку в Qt Creator, но посыпались ошибки, а код с dll не исполнился

Как получить и взаимодействовать с QWidgets сторонней программы


В правильном ли направлении я движусь, почему не срабатывает dll, какие есть иные варианты получить перечень элементов Qt программы? Желательно с примерами)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2019, 17:39
Ответы с готовыми решениями:

Как получить скриншот сторонней программы?
Вобщем дело такое. Есть программа, которая работает сама по себе (назовём её 1 программой). И есть...

Получить логин из сторонней программы
Здравствуйте, расскажите как вытащить логин из сторонней программы? в моем случае ею является...

Получить доступ к Listview сторонней программы через SendMessage
Всем привет. Проблема заключается в следующем: в сеть включено МФУ, на котором нужно сканировать....

Как получить переменную из сторонней функции?
Подскажите пожалуйста, есть функция attrchange ,которая была подключена через плагин (функция...

5
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,363
16.11.2019, 17:54 2
Syllent, Qt рисует все элементы управления на едином нативном системном окне (в случае windows это объект HWND). То есть, система ничего не знает о том, какие окошки размещены на окне и какими сообщениями они обмениваются (это всё, грубо говоря, знает только экземпляр класса QCoreApplication в той программе).

Доступ к этому экземпляру и предлагается получить по второй ссылке. Насколько я понял, там предлагают подменить Qt5Gui.dll своей dll (где будут перехвачены нужные функции). Но для этого ещё необходимо использовать Qt той же версии и компилятор точно такой же, как использовались в оригинальной программе
1
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 18
16.11.2019, 18:51  [ТС] 3
Спасибо, немного разъяснили

Цитата Сообщение от Алексей1153 Посмотреть сообщение
подменить Qt5Gui.dll своей dll (где будут перехвачены нужные функции)
Но как это сделать, как переписать dll?

Цитата Сообщение от Syllent Посмотреть сообщение
В Qt новичек, пробовал создать dll библиотеку в Qt Creator, но посыпались ошибки, а код с dll не исполнился
И почему не удалось сделать это здесь?
0
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,363
16.11.2019, 19:00 4
Syllent, ничего не могу подсказать, я этим не занимался

Добавлено через 2 минуты
Syllent, ничего не могу подсказать, я этим не занимался

Кстати, имя dll может и не то - Qt5Core.dll , а не Qt5Gui.dll
0
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 18
16.11.2019, 19:04  [ТС] 5
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Кстати, имя dll может и не то - Qt5Core.dll , а не Qt5Gui.dll
Или Qt5Widgets.dll
0
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,363
16.11.2019, 19:18 6
Syllent, судя по справке, QCoreApplication обитает в модуле core
0
16.11.2019, 19:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2019, 19:18
Помогаю со студенческими работами здесь

Как нажать на кнопку сторонней программы?
Мужики, привет. Process processes = Process.GetProcessesByName("ИМЯ_ПРОЦЕССА"); foreach...

Как отрыть файл сторонней программы?
Как отрыть файл сторонней программы? То есть как написать модуль открытия файла(например: открыть...

Как отловить падение сторонней программы?
Есть коммерческая программа написанная на С++ которая круглосуточно опрашивает приборы (без...

как получить заголовок сторонней страницы по url?
Есть такой способ: function page_title($url) { $fp = file_get_contents($url); ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru