Добавлено: 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;