Russian Qt Forum
Март 29, 2024, 03:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Встраивание стороннего Qt приложения  (Прочитано 5661 раз)
siluet
Гость
« : Март 21, 2017, 22:53 »

Всем привет)
Возникла такая задачка: есть стороннее приложение на Qt, в котором реализованы закрытые протоколы и запись данных в бд.
Необходимо вызывать эту программу без открытия окна, т.е. окно надо как то скрывать от пользователя, потому как в окне можно поправить данные и вообще пользователь будет ужасаться от избытка функционала Шокированный. Сторонняя программа при запуске автоматически делает все, что нужно от нее. А потом ее нужно завершать. Кто-нибудь знает простой и готовый способ как это сделать?
Записан
TheGringerEye
Гость
« Ответ #1 : Март 22, 2017, 00:30 »

Сомневаюсь, разве что если функционал этой программы вынесен в отдельную dll
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 574


Просмотр профиля
« Ответ #2 : Март 22, 2017, 07:37 »

Можете попробовать реализовать запуск программы в отдельной виртуальной машине, либо в отдельном сеансе другого пользователя (реализация зависит от ОС).
Либо сторонними средствами перемещать окно за пределы видимого пространства.
« Последнее редактирование: Март 22, 2017, 07:42 от ssoft » Записан
TheGringerEye
Гость
« Ответ #3 : Март 22, 2017, 11:16 »

Вообще есть такой вариант, написать специальную dll, которая будет инъектиться в адресное пространнство той программы и управлять показом и скрытием окна, ввода данных, ну и в целом работой с объектами, но это сложно и того не стоит, проще найти исходники.
Записан
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #4 : Март 22, 2017, 11:29 »

OS какая ?
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #5 : Март 22, 2017, 12:35 »

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

OS какая ?
windows
Записан
VPS
Гость
« Ответ #7 : Март 22, 2017, 23:33 »

Возможно WINAPI подойдёт, а точнее - функция CreateProcess (с выставленными флагами сокрытия окна).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.064 секунд. Запросов: 22.