Запуск программы и ожидание завершения определенное времяDelphi , Программа и Интерфейс , Приложения чужие
Автор: Kostas { **** UBPFD *********** by delphibase.endimus.com **** >> Запуск программы и ожидание завершения опр.время Запускает внешнюю программу и ожидает его завершения определённое время, если истекает время то, программа продолжает работу не зависимо от состояния внешней программы (На случай подвисания вн. прог-мы, особенно DOS) Зависимости: Windows Автор: Kostas, kostas@tut.by, РБ Гомельская обл. г. Речица Copyright: вроде delphi.mastak.ru (слегка доработанно) Дата: 03 мая 2002 г. ***************************************************** } function ExecAndWait(aCmd: string; WaitTimeOut: cardinal = INFINITE): Cardinal; var si: STARTUPINFO; pi: PROCESS_INFORMATION; res: BOOL; r: cardinal; begin with si do begin cb := sizeof(si); lpReserved := nil; lpDesktop := nil; lpTitle := PChar('External program "' + aCmd + '"'); dwFlags := 0; cbReserved2 := 0; lpReserved2 := nil; end; res := CreateProcess(nil, PChar(aCmd), nil, nil, FALSE, 0, nil, nil, si, pi); if res then WaitForSingleObject(pi.hProcess, WaitTimeOut); GetExitCodeProcess(pi.hProcess, r); result := r; end; // Пример использования: procedure Exec(CommandStr, WaitTime); begin if ExecAndWait(CommandStr, WaitTime) = WAIT_FAILED then ShowMessage('Истекло время ожидания внешней программы ' + CommandStr); end; Программный код на Delphi, который запускает внешнюю программу и ожидает ее завершения в указанное время. Если таймаут достигнут, программа продолжит выполнение, не учитывая состояние внешней программы. Обзор кода:
Процедура Обратите внимание:
В целом, этот код предоставляет простой способ запустить внешнюю программу и ожидать ее завершения в указанное время. Он полезен в сценариях, где вам нужно выполнить третьестороннюю программу или скрипт, но не хотите ждать бесконечно, пока она не будет выполнена. Функция ExecAndWait запускает внешнюю программу и ожидает ее завершения определенное время, если истекает время, то программа продолжает работу не зависимо от состояния внешней программы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Приложения чужие ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |