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

Вниз

Как выяснить, работает ли программа или уже завершилась?   Найти похожие ветки 

 
Olsher   (2004-06-15 10:08) [0]

Как узнать, закончила ли свою работу другая программа, запущенная из моей программы?


 
Fay ©   (2004-06-15 10:11) [1]

Запускать её самому или перебирать процессы


 
Fay ©   (2004-06-15 10:12) [2]

Так. Торможу 8)


 
Mim1 ©   (2004-06-15 10:18) [3]

procedure TForm1.Button1Click(Sender: TObject);
var si:STARTUPINFO;
   pi:PROCESS_INFORMATION;
   xc:cardinal;
begin
   ZeroMemory(@si,sizeof(si));
   si.cb:=SizeOf(si);
   si.wShowWindow := SW_HIDE;
   si.dwFlags := STARTF_USESHOWWINDOW;

   CreateProcess(nil,
{$ifdef home}
     PCHAR("rar32 a test.zip "+"C:\Video\nge\nge-01.viv")
{$else}
     PCHAR("rar32 a test.zip "+Application.EXENAME)
{$endif}
     ,nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,si,pi);
   CloseHandle(Pi.hThread);
   with tanimate.Create(self) do
     begin
       Parent := self;
       Align := alClient;
       BringToFront;
       CommonAVI := aviCopyFiles;
       Active := True;
       StopFrame := 34;
       while WaitForSingleObject(Pi.hProcess, 10) = WAIT_TIMEOUT do
         Application.ProcessMessages;
       free;
     end;
   if GetExitCodeProcess(Pi.hProcess,xc) then
     showMessage(inttostr(xc));
   CloseHandle(Pi.hProcess);
end;


 
Тимохов ©   (2004-06-15 10:19) [4]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621841&n=15
возможно это поможет.

нужно waitforsingleobject делать не infinite (т.е. бесконечно), а 0, т.е. тут же получить signaled (т.е. завершился) ли процесс или нет. надо проверять р-т этой функции. посмотри в msdn про waitforsingleobject



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1087298316
Apocalepse
2004-06-15 15:18
2004.06.27
Как сделатть свою программу поверх всех окон


1-1086976921
MuxauJl
2004-06-11 22:02
2004.06.27
будильник


14-1086429522
Cardinal
2004-06-05 13:58
2004.06.27
Аксиома измерения площадей отдыхает (задачка)


8-1081869661
VitGun
2004-04-13 19:21
2004.06.27
DXF. Чтение отображение.


4-1085107194
BoxTer
2004-05-21 06:39
2004.06.27
Как убить процесс ntvdm.exe