Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
HANDLE hWritePipe;
// Создание канала
CreatePipe(&hReadPipe, &hWritePipe, lpsa,25000);
// Ну а это инициализация STARTUPINFO
STARTUPINFO si;
// Обнуление
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
// Флаг перенаправления дескрипторов
si.dwFlags = STARTF_USESHOWWINDOW |STARTF_USESTDHANDLES;
// Прячем окошко
si.wShowWindow = SW_HIDE;
// Указатели stdout и stderr перенаправляются в канал
si.hStdOutput = hWritePipe;
si.hStdError = hWritePipe;
PROCESS_INFORMATION pi;
if(CreateProcess(NULL, "bcc -otest test.c", NULL, NULL, TRUE, 0, 0, 0, &si, &pi)){
// Закрываем дескриптор потока
CloseHandle(pi.hThread);
// Ждём завершения дочернего процесса 90 сек.
WaitForSingleObject(pi.hProcess, 90000);
// Читаем из канала данные
DWORD BytesRead; // Количество считанных байт
char dest[4000]; // Вот в этот буфер писать и будем
int LoopDone = 0;
int FBreak = 0;
// Цикл чтения данных из канала, с защитой от тайм-аута, т.к. чтение неблокирующее
while (!LoopDone) {
memset(dest, 0, 4000);