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

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

Как выяснить, работает ли программа или уже завершилась? [D5, Win95/98]


Olsher ©   (2004-06-15 10:08:00) 

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


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

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

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


Mim1   (2004-06-15 10:18:00) [2]

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;


Fay   (2004-06-15 10:12:00) [3]

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


Fay   (2004-06-15 10:11:00) [4]

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


Наверх

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