Главная страница
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.034 c
2-1156687606
Jimmy
2006-08-27 18:06
2006.09.17
Как экономить ресурсы?


15-1156395719
Ega23
2006-08-24 09:01
2006.09.17
С Днём рождения! 24 августа


1-1155039927
alexvan
2006-08-08 16:25
2006.09.17
Вопрос по TEdit


3-1152611860
rav
2006-07-11 13:57
2006.09.17
Обновление одной записи.


4-1148023471
salexn
2006-05-19 11:24
2006.09.17
Thread, DLL и отрисовка данных