KVRSOFT - Как да уловим целия изход в конзолата

Контроли, Windows, SysUtils, формуляри;

функция GetDosOutput (const CommandLine: низ): низ;

функция GetDosOutput (const CommandLine: низ): низ;

StdOutPipeRead, StdOutPipeWrite: THandle;

Буфер: масив [0.255] от Char;

WorkDir, Line: низ;

nLength: = SizeOf (SA);

// създаване на канал за пренасочване на stdout

CreatePipe (StdOutPipeRead, // манипулатор за четене

StdOutPipeWrite, // дръжка за запис

@SA, // атрибути за сигурност

0 // брой байтове, получени за тръбата - 0 по подразбиране

// Създаване на дъщерен процес, използвайки StdOutPipeWrite като стандартен изход,

// и също така проверете дали не се показва на екрана.

FillChar (SI, SizeOf (SI), 0);

dwFlags: = STARTF_USESHOWWINDOW или STARTF_USESTDHANDLES;

hStdInput: = GetStdHandle (STD_INPUT_HANDLE); // стандартният вход не се пренасочва

// Стартирайте компилатора от командния ред