Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: siluet от Март 21, 2017, 22:53



Название: Встраивание стороннего Qt приложения
Отправлено: siluet от Март 21, 2017, 22:53
Всем привет)
Возникла такая задачка: есть стороннее приложение на Qt, в котором реализованы закрытые протоколы и запись данных в бд.
Необходимо вызывать эту программу без открытия окна, т.е. окно надо как то скрывать от пользователя, потому как в окне можно поправить данные и вообще пользователь будет ужасаться от избытка функционала :o. Сторонняя программа при запуске автоматически делает все, что нужно от нее. А потом ее нужно завершать. Кто-нибудь знает простой и готовый способ как это сделать?


Название: Re: Встраивание стороннего Qt приложения
Отправлено: TheGringerEye от Март 22, 2017, 00:30
Сомневаюсь, разве что если функционал этой программы вынесен в отдельную dll


Название: Re: Встраивание стороннего Qt приложения
Отправлено: ssoft от Март 22, 2017, 07:37
Можете попробовать реализовать запуск программы в отдельной виртуальной машине, либо в отдельном сеансе другого пользователя (реализация зависит от ОС).
Либо сторонними средствами перемещать окно за пределы видимого пространства.


Название: Re: Встраивание стороннего Qt приложения
Отправлено: TheGringerEye от Март 22, 2017, 11:16
Вообще есть такой вариант, написать специальную dll, которая будет инъектиться в адресное пространнство той программы и управлять показом и скрытием окна, ввода данных, ну и в целом работой с объектами, но это сложно и того не стоит, проще найти исходники.


Название: Re: Встраивание стороннего Qt приложения
Отправлено: qate от Март 22, 2017, 11:29
OS какая ?


Название: Re: Встраивание стороннего Qt приложения
Отправлено: poru от Март 22, 2017, 12:35
Когда-то написал такую приколюху. Ну и как водиться забыл убрать ее из автозапуска. Потом сисадмины положили бумагу на стол начальника, что я более 800 часов в пасьянс играл :D.
Код
Javascript
var WshShell = WScript.CreateObject("WScript.Shell")
for (var i = 0; i < 20; i++) {
   WshShell.Run("\"C:\\WINDOWS\\system32\\spider.exe\"", 0, false)
}
 


Название: Re: Встраивание стороннего Qt приложения
Отправлено: siluet от Март 22, 2017, 21:45
OS какая ?
windows


Название: Re: Встраивание стороннего Qt приложения
Отправлено: VPS от Март 22, 2017, 23:33
Возможно WINAPI подойдёт, а точнее - функция CreateProcess (с выставленными флагами сокрытия окна).