Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
3-83363
prof
2003-05-06 10:02
2003.05.26
Ошибка в запросе


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


14-83729
Дмитрий К.К.
2003-05-07 06:23
2003.05.26
Именинники 7 мая


14-83677
Карелин Артем
2003-04-30 12:09
2003.05.26
Yaffil, Работа с офисом 97 через OLE, Win 95 и слабый комп.


1-83439
RoadStar
2003-05-14 14:27
2003.05.26
Результат работы программы




   Наверх