|
Познающий
Регистрация: 22.01.2007
Сообщений: 40
С нами:
10157510
Репутация:
4
|
|
Итак попытка номер пять ). Патчему вывод из смд не перенаправляется? Паапки! Куку )
#include "stdafx.h"
#include "windows.h"
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#pragma hdrstop
int main()
{
STARTUPINFOA si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
ZeroMemory( &pi, sizeof(pi) );
SECURITY_ATTRIBUTES secat;
secat.nLength = sizeof(SECURITY_ATTRIBUTES);
secat.bInheritHandle = TRUE;
secat.lpSecurityDescriptor = NULL;
HANDLE read_stdout,newstdout;
CreatePipe(&read_stdout,&newstdout,&secat,0)
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.hStdOutput=newstdout;
//si.cb;
GetStartupInfoA(&si);
CreateProcessA("C:\\WINDOWS\\system32\\cmd.exe", " /k dir", NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
DWORD bytes; //кол-во прочитанных байт
DWORD avail; //кол-во доступных байт
char buf[1023];
PeekNamedPipe(read_stdout, buf, 1023, &bytes, &avail, NULL);
ReadFile(read_stdout, buf, 1023, &avail, NULL);
std::cout << buf;
std::cin.get();
}
|