Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c