Работа с внешними приложениями

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Работа с внешними приложениями

Eugie » 09 апр 2004, 17:41

Наверное, самый незатейливый способ - запустить консольную программу из-под командного процессора и перенаправить вывод в файл. Что-то типа:

Код: Выделить всё

{
  pCmdLine   - командная строка, запускающая данную конс.программу (включая параметры, если есть)
  pOutputFile - файл, куда будет перенапрвлен вывод
}
procedure RunConsoleApp(const pCmdLine, pOutputFile: String);
var startup_info: TStartupInfo;
    process_info: TProcessInformation;
    cmd_line: String;
begin
  ZeroMemory(@startup_info, SizeOf(startup_info));
  startup_info.cb := SizeOf(startup_info);
  cmd_line := Format('cmd.exe /c /a %s > %s', [pCmdLine, pOutputFile]);
  Win32Check(CreateProcess(nil, PChar(cmd_line), nil, nil, False, NORMAL_PRIORITY_CLASS,
                nil, nil, startup_info, process_info));

  WaitForSingleObject(process_info.hProcess, INFINITE);

  CloseHandle(process_info.hProcess);
  CloseHandle(process_info.hThread);
end;
Дальше, понятно, читаем из файла то, что нужно.

Вернуться к началу