Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

Раскрытие, затем удаление архива...   Найти похожие ветки 

 
Владимир   (2006-05-18 16:08) [0]

Нужен код, который раскрывает архива RAR, а затем удаляет архив. Я написал, но проблема в том, что удаление файла срабатывает раньше чем раскрытия архива...
Как обойти данную проблему ? Заранее благодарен

shellExecute(Form1.Handle,
                             nil,
                            Pchar("WinRAR"),
                            Pchar("e -o+ -df  "+path+filename+" "+ Path),
                            nil,
                            SW_SHOWNOACTIVATE);

If FileExists(Path+fileName) then DeleteFile(Pchar(Path+FileName))


 
iXT   (2006-05-18 16:26) [1]

НУ и чего тут удивительного!
Пока у тебя запускается сам WINRAR файл и удаляется.
А если WINRAR вообще не установлен!?

1. Используй не WINRAR, а компоненты работающие с rar-архивами.
2. Если уж без WINRAR никак, то смотри пока не исчезнет процесс
3. (Ну если программа "просто так" то поставь задержку таймером на удаление. Кажется WINRAR для работы создает временную папку и далее работает с ней (но не факт при работе из командной строки), И вообще несоветую его (3)


 
Владимир   (2006-05-18 16:38) [2]

Спасибо.
Но как отследить ???, закончил работу WINRAR или нет...Задержка таймером мне не подходит, у меня много таких архивов будет и какое время ставить для раскрытия одного архива ? 10с, 30с, 1 час ?
Размеры архива от 1кб до 100мб..

winrar или нет это другой вопрос.

Мне нужно узнать: как можно определить запущенная какая-то программа закончила уже свои дела или нет....


 
Игорь Шевченко ©   (2006-05-18 16:50) [3]


> как можно определить запущенная какая-то программа закончила
> уже свои дела или нет....


CreateProcess + WaitForSignleObject

ShellExecuteEx + WaitForSingleObject



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
1-1155024509
npr2
2006-08-08 12:08
2006.09.17
обмен сообщениями между окнами в приложении


3-1152885882
stud
2006-07-14 18:04
2006.09.17
регистр при именовании переменных


1-1154624425
ISK(CMEPTb)
2006-08-03 21:00
2006.09.17
Вставка объектов в текстовый редактор


15-1156771068
worldmen
2006-08-28 17:17
2006.09.17
Установка SUSE 9.


15-1156691988
Konstantin555
2006-08-27 19:19
2006.09.17
Что означает сигнал компьютера в виде сирены?