Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 10.12.2008, 18:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В принципе неверно. Тебе нужна функция CreateProcess, которая вернет тебе хэндл процесса и пока этот процесс работает тебе надо ждать.

Вот кусок кода из проекта, запускающего консольное приложение и ждущего, пока оно отработает:
Код:
            // call pcpos
            FName := FWorkPlaceOptions.PCPOSFilePath + 'out.pos';
            DeleteFile(FName);
            si.lpReserved := nil;
            si.lpDesktop := nil;
            si.lpTitle := nil;
            si.dwFlags := STARTF_USESHOWWINDOW;
            si.wShowWindow := SW_SHOWNORMAL;
            si.lpReserved2 := nil;
            si.cbReserved2 := 0;
            si.cb := SizeOf(si);

            if CreateProcess(PChar(FWorkPlaceOptions.PCPOSPath),
              nil,
              nil,
              nil,
              BOOL(FALSE),
              CREATE_DEFAULT_ERROR_MODE or NORMAL_PRIORITY_CLASS or CREATE_NEW_CONSOLE,
              nil,
              PChar(ExtractfilePath(FWorkPlaceOptions.PCPOSPath)),
              si,
              pi) = BOOL(FALSE) then
              raise Exception.Create(PCPOSRunFault);
            WaitForSingleObject(pi.hProcess, INFINITE);
            CloseHandle(pi.hProcess);

            Application.ProcessMessages;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025