Понедельник, 06.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нашли свой исходник?
Всего ответов: 94
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Мультимедиа » Звук

Запуск внешнего приложения и ожидание его завершения

Пример показывает как из Вашей программы запустить внешнее приложение и подождать его завершения.

function ExecAndWait(const FileName,
 Params: ShortString;
 const WinState: Word): boolean; export; 
var 
 StartInfo: TStartupInfo; 
 ProcInfo: TProcessInformation; 
 CmdLine: ShortString; 
begin 
 { Помещаем имя файла между кавычками, с соблюдением всех пробелов в именах Win9x } 
 CmdLine := '"' + Filename + '" ' + Params; 
 FillChar(StartInfo, SizeOf(StartInfo), #0); 
 with StartInfo do 
 begin 
 cb := SizeOf(SUInfo); 
 dwFlags := STARTF_USESHOWWINDOW; 
 wShowWindow := WinState; 
 end; 
 Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false, 
 CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, 
 PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo); 
 { Ожидаем завершения приложения } 
 if Result then 
 begin 
 WaitForSingleObject(ProcInfo.hProcess, INFINITE); 
 { Free the Handles } 
 CloseHandle(ProcInfo.hProcess); 
 CloseHandle(ProcInfo.hThread); 
 end; 
end; 

А вот пример вызова этой функции:

ExecAndWait( 'C:\windows\calc.exe', '', SH_SHOWNORMAL) 
  • Параметр FileName = Имя внешней программы.
  • Параметр Params = Параметры, необходимые для запуска внешней программы
  • Параметр WinState = Указывает - как будет показано окно:
    Для этого параметра мы можем так же использовать следующие константы: SW_HIDE, SW_MAXIMIZE, SW_MINIMIZE, SW_SHOWNORMAL

PS: Этот код тестировался в delphi версий 3, 4 и 5.

Автор: Fabrнcio Fadel Kammer

Получить ссылку на материал

Категория: Звук | Добавил: Барон (09.12.2011)
Просмотров: 1147 | Теги: завершение, запуск | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Звук [8]
Королевство Delphi © 2010-2024
Яндекс цитирования