Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2013, 15:22   #1
SawaMEN
Пользователь
 
Аватар для SawaMEN
 
Регистрация: 30.04.2012
Сообщений: 15
Восклицание Дождаться завершения другой программы в консоле delphi

Здравствуйте...
Хотел задать вопрос... Как в консольном режиме delphi дождаться разархивирования архиватора 7-zip, и удалить архив...
Главное это нужно сделать, при завершении разархивирования...и закрыть программу)
Код:
program Project2;

uses
  SysUtils, ShellAPI, Windows, Messages;

begin
WinExec('7z.exe x "file.7z" -y',SW_HIDE);
DeleteFile('file.7z');
end.
SawaMEN -MeN233-
vk.com/sawamen
http://sawamen.my1.ru/
SawaMEN вне форума Ответить с цитированием
Старый 04.09.2013, 15:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я бы рекомендовал воспользоваться CreateProcess + WaitForSingleObject
вот, например, вот так Пауза, пока не завершится другая программа. пост #4
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2013, 12:34   #3
SawaMEN
Пользователь
 
Аватар для SawaMEN
 
Регистрация: 30.04.2012
Сообщений: 15
По умолчанию

Спасибо большое))
SawaMEN -MeN233-
vk.com/sawamen
http://sawamen.my1.ru/
SawaMEN вне форума Ответить с цитированием
Старый 05.09.2013, 12:47   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если пользуетесь RxLib, то там в RXShell есть функция FileExecuteWait, в ней другой подход, но можно и её использовать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.09.2013, 14:26   #5
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

а ещё файл не удалится если он используется. и ваша функция DeleteFile('file.7z'); вернёт false, что вам мешает воткнуть удаление в таймер, который закроется при правильном удалении или при внешней отмене? это топорный наиболее простой вариант.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 09.09.2013 в 14:28.
IliaIT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Причина завершения программы LuckyTrue Общие вопросы C/C++ 11 18.07.2011 20:30
Как сделать так, чтобы прога ждала завершения работы другой? Cерий Помощь студентам 7 07.01.2011 23:53
Как дождаться завершения запущенного приложения DennerV Win Api 5 13.08.2010 13:48
Как дождаться завершения процедуры? Hintman Win Api 6 14.10.2009 14:46
Определение завершения сторонней программы Хамяг Общие вопросы Delphi 3 26.11.2008 18:12