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

Вниз

Delay во время выполнения либо ответ от rar...   Найти похожие ветки 

 
Leech   (2004-03-22 13:07) [0]

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


 
Zergling ©   (2004-03-22 13:12) [1]

Самый простой способ искать окно WinRar (в таймере с N-ым интервалом). Если окна нет, то распаковка закончена.


 
Leech   (2004-03-22 13:16) [2]

WinAPI?... или нет? Если WinAPI - то не хотелось бы...


 
Юрий Зотов ©   (2004-03-22 13:17) [3]

САМЫЙ простой (и самый правильный) способ - запускать RAR через CreateProcess и просто вызвать WaitForSingleObject. Примеров полно на этом же сайте.


 
serge ©   (2004-03-22 13:18) [4]

Use CreateProcess - primerov dostatocino.


 
Leech   (2004-03-22 13:19) [5]

Угу.. мысль понял... Сейчас попробую.. Всем спасибо..


 
serge ©   (2004-03-22 13:20) [6]

u-u-u-p-s-s-s опоздал маленько :о)


 
Leech   (2004-03-22 13:22) [7]

Так... это чтобы его запустить - я должен ещё сначала определить, на какой я платформе?  :((


 
Zergling ©   (2004-03-22 13:33) [8]

Юрий Зотов ©   (22.03.04 13:17) [3]
serge ©   (22.03.04 13:18) [4]

Мдя мне должно быть стыдно :(
Совсем запамятовал


 
Leech   (2004-03-22 13:36) [9]

Не могу выполнить CreateProcess... Кто-нидь делал подобное? С ожиданием закрытия? Хелп...


 
Рамиль ©   (2004-03-22 13:39) [10]

http://venera.work.kemsu.ru/Delphi/03/060/002.shtml


 
Leech   (2004-03-22 13:45) [11]

2 Рамиль ©
 Сенкс... нашел ошибку...  :))


 
Leech   (2004-03-22 14:25) [12]

Я так понял, что в lpApplicationName я пишу путь к rar, а в lpCommandLine - ключи запуска?


 
Leech   (2004-03-22 15:08) [13]

Неа... не хавает... Не распаковует... такое чувство ,что рар запускаю без параметров..


 
Юрий Зотов ©   (2004-03-22 15:08) [14]


function LaunchAndWait(CmdLine: string): boolean;
var
 SI: TStartupInfo;
 PI: TProcessInformation;
begin
 ZeroMemory(@SI, SizeOf(SI));
 SI.cb := SizeOf(SI);
 Result := CreateProcess(nil, PChar(CmdLine), nil, nil, False, 0, nil, nil, SI, PI);
 if Result then
 begin
   CloseHandle(PI.hThread);
   WaitForSingleObject(PI.hProcess, INFINITE);
   CloseHandle(PI.hProcess)
 end
end;

И все дела.



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

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

Наверх




Память: 0.49 MB
Время: 0.029 c
14-1081871944
Privet
2004-04-13 19:59
2004.04.11
Завершение работы системы


14-1082118947
Bel
2004-04-16 16:35
2004.04.11
Эксперимент с координацией.


4-1075960900
Onyx
2004-02-05 09:01
2004.04.11
CreateProcess в Win2k


1-1082128774
Руслан Гиричев
2004-04-16 19:19
2004.04.11
PageControl, как быть....


1-1080139485
satron
2004-03-24 17:44
2004.04.11
Как получить конкретный символ в Memo ?