Показать сообщение отдельно
  #1  
Старый 02.01.2012, 15:49
ros.pro ros.pro вне форума
Прохожий
 
Регистрация: 28.03.2011
Сообщения: 17
Репутация: 10
По умолчанию Запуск консоли и перенаправление вывода

Здравствуйте, уважаемые форумчане!

Пишу программку, создающую процесс cmd.exe и перенаправляющую вывод в текстовый файл(который создается выше).

Так вот, вроде все работает, ошибок не выдает, но файл пустой... И еще, консоль, почему-то открывается и сразу закрывается...

PHP код:
procedure TForm1.FormCreate(Sender: TObject);
var
  
stdOut: THandle;
  
startUpInfo: TStartUpInfo;
  
ProcInfo: TProcessInformation;
begin
  stdOut 
:= CreateFile('123.txt', GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);

  
FillChar(startUpInfo, SizeOf(TStartUpInfo), 0);
  
startUpInfo.cb := SizeOf(TStartUpInfo);
  
startUpInfo.hStdOutput := stdOut;
  
startUpInfo.wShowWindow := SW_SHOW;
  
startUpInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;

  
CreateProcess(Pchar('C:\Windows\system32\cmd.exe'), PChar('/k dir'), nil, nil, true, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcInfo);
  
closeHandle(stdOut);
  
CloseHandle(ProcInfo.hThread);
  
CloseHandle(ProcInfo.hProcess);
end; 
Ответить с цитированием