Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по ShellExecute [D5, D6, Win2k]


vinni2000 ©   (2002-09-23 19:13:00) 

Вот есть такой вопрос!
С помощью команды ShellExecute выполняю архивацию данных. Так вот программа выполняеться быстрее чем архивация данных. Что мне надо сделать чтобы программа ждала пока не выполниться архивация данных.
За рание спасибо!


AL2002   (2002-09-23 20:04:00) [1]

Var
StartupInfo: TStartupInfo;
PI: TProcessInformation;

FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb:=Sizeof(StartupInfo);
StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow:=0;
CreateProcess(NiL, PChar(Edit1.Text), Nil, Nil, FALSE, IDLE_PRIORITY_CLASS, Nil, "C:\", StartupInfo, pi);
WaitForSingleObject( pi.hProcess, INFINITE );
end;


vinni2000   (2002-09-23 19:44:00) [2]

Ну есть такой код запуска рара:
params:="e "+d+" d:\temprar\";
ShellExecute(form1.handle,nil,pchar("winrar.exe"),
pchar(params),pchar(ExtractFilePath(Application.ExeName)),sw_hide);

И как с помощью CreateProcess();
єто все оформить


Poirot   (2002-09-23 19:32:00) [3]

Поищи в ФАКах, вроде было, но где не помню, но могу сказать что надо юзать CreateProcess


AL2002   (2002-09-23 19:31:00) [4]

CreateProcess();
потом
WaitForSingleObject( pi.hProcess, INFINITE );
потом
CloseHandle()


Наверх

Титульная страница Поиск, карта сайта Написать письмо