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

Вниз

завершение работы чужой программы   Найти похожие ветки 

 
Ancara   (2003-05-15 12:02) [0]

Народ, помогите, плиз.
Такая ситуевина: я запускаю из своей проги чужую прогу при помощи WinExec (также пытался CreateProcess), эта чужая прога (WinRar)делает свои дела и закрывается. Как мне заставить мою прогу ждать закрытия WinRar"а, а не лезть вперед паровоза?


 
DVM ©   (2003-05-15 12:07) [1]

procedure Start;

var

si: TStartupInfo;

p: TProcessInformation;

begin

FillChar(Si,SizeOf(Si),0);

with Si do begin

cb := SizeOf( Si);

dwFlags := startf_UseShowWindow;

wShowWindow := 4;

end;

Form1.WindowState:=wsMinimized;

Createprocess(nil,"c:\windows\sndrec32.exe e:/temp.wav",nil,nil,false,

Create_default_error_mode,nil,nil,si);

Waitforsingleobject(p.hProcess,infinite);

Form1.WindowState:=wsNormal;

end;


 
Ancara   (2003-05-15 12:13) [2]

Элементарно, а-то запарился..
Огромное спасибо!! :))


 
Юрий Зотов ©   (2003-05-15 12:16) [3]

1. И при каждом вызове процедуры Start происходит утечка системных ресурсов. Потому что нет CloseHandle(p.hThread) и CloseHandle(p.hProcess).

2. Этот код лучше поместить в дополнительный поток. Иначе, пока выполняется запушщенная программа, запустившая как бы "подвисает".



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
14-83744
Ликс
2003-05-07 09:58
2003.05.26
Условия работы в конторе?


6-83626
BGV
2003-03-26 14:11
2003.05.26
Как определить, что соединение разорвано? (Indy, FTP)


1-83564
Evyshka
2003-05-14 09:00
2003.05.26
Как связать с программой файл помощи


14-83654
jazi
2003-05-07 08:45
2003.05.26
Самые дешевые цены по Москве!!!


3-83417
Babay
2003-04-28 04:53
2003.05.26
Ошибка при удалении в ADOQuery.