Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
shyub
352 / 152 / 39
Регистрация: 11.07.2013
Сообщений: 814
1

Как запустить стороннее приложение и ждать завершения его работы?

14.12.2015, 09:45. Просмотров 1141. Ответов 4
Метки нет (Все метки)

В принципе, зная расположение какого-то приложения на диске запуск его особых трудностей не вызывает. Сложность состоит в другом - как сделать так, чтобы программа, запустившая приложение, пропала с панели задач (т.е. как будто она закрылась), но реально продолжала работать и закрывалась бы только, когда будет закрыто запущенное ею приложение?
Здесь, пожалуй, три базовых вещи:
1. Запуск стороннего приложения (это не сложно).
2. Убрать программу с экрана (допустим, свойство visible делаю false, а вот как убрать с панели задач - вопрос).
3. Отслеживать выполняется ли или уже закрыто запущенное приложение (как это сделать - тоже вопрос).
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2015, 09:45
Ответы с готовыми решениями:

Как вызвать приложение и ждать его завершения
Люди! Как из проги на яве вызвать другое приложение и !ждать его завершения! , а потом продолжить...

Как запустить стороннее приложение
Всем доброго здоровьеца. пока безуспешно пытаюсь работать с WinForms в visual studio 2012\2010....

Как запустить стороннее приложение?
Можно ли запускать из своей программы другую, например MS Word? Если да то как?

Как запустить стороннее приложение с параметром?
В общем как открыть стороннее приложение через программу делфи так, как показано на скрине

Как запустить стороннее приложение с определенными параметрами
Есть программа paping.exe, она пингует по портам! Нужно с помощью vb.net программы запустить её с...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
28903 / 19065 / 7493
Регистрация: 22.10.2011
Сообщений: 33,234
Записей в блоге: 6
14.12.2015, 11:57 2
Лучший ответ Сообщение было отмечено shyub как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var AProcess : TProcess;
begin
  AProcess := TProcess.Create(nil);
  AProcess.Options := [poWaitOnExit]; // ждать завершения запускаемого процесса
  AProcess.Executable := 'notepad.exe'; // для теста запустим notepad
 
  Self.Hide; // скрываем форму (при этом в taskbare ничего не остается, только что проверил
 
  AProcess.Execute; // запускаем стороннее приложение
  AProcess.Free; // после завершения стороннего приложения возвращаемся сюда, чистим память и закрываемся
  Close; 
end;
1
shyub
352 / 152 / 39
Регистрация: 11.07.2013
Сообщений: 814
14.12.2015, 20:25  [ТС] 3
А могу ли я между AProcess.Free; и Close; добавить какие-то свои действия? Идея, в общем-то такая, я хочу использовать программу, которая имеет 30-ти дневный срок. Запускать буду свою утилиту, которая "перекручивает" часы назад, запускает это ПО. А по закрытию восстанавливает правильное время.
И второй вопрос: с формальной точки зрения эти действия являются нарушением закона или нет? Ведь в лицензионном соглашении не сказано, что я не имею права после переустановки Windows-а вновь использовать в течении 30-ти дней это ПО.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
28903 / 19065 / 7493
Регистрация: 22.10.2011
Сообщений: 33,234
Записей в блоге: 6
14.12.2015, 21:19 4
Цитата Сообщение от shyub Посмотреть сообщение
Ведь в лицензионном соглашении не сказано, что я не имею права после переустановки Windows-а вновь использовать в течении 30-ти дней это ПО
Там это не сказано, или ты этого не нашел/не увидел/не читал? Обычно как раз случай переустановки ОС оговаривается в соглашении.
0
edukra
550 / 511 / 193
Регистрация: 24.01.2012
Сообщений: 1,253
15.12.2015, 13:01 5
В лицензионном соглашении не сказано, но там ясно написано - испытательный срок - n дней, по истечении которого нужно либо заплатить за программу - либо прекратить её использование. И неважно сколько раз была переустановлена система. Также неважно заблокировалась программа или нет. Более того - блокировка-это необязательная дополнительная мера против любителей "халявы". например в программе Total Commander нет блокировки, но по лицензионному соглашению - бесплатно можно пользоваться только месяц.
0
15.12.2015, 13:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2015, 13:01

Как запустить стороннее приложение с определенными параметрами
Здравствуйте! Необходимо реализовать следующее. Имеется программка .exe работающая в командной...

Как запустить стороннее приложение внутри своей MDI-формы?!
как запустить стороннее приложение внутри своей MDI-формы?! ОЧЕНЬ СРОЧНО!

Запустить программу и ждать завершения, не вешая основной программы
Мне нужно запустить программу и дождаться её завершение, после продолжить работу Вот что я...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.