если вы видите этот текст, отключите в настройках форума использование JavaScript
Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания .
Новичкам также крайне полезно ознакомиться с данным документом .
опять SetStdHandle 10.01.04 19:19
Автор: crazy_assembly Статус: Незарегистрированный пользователь
Помогите перенаправить вывод от printf'а в stdout в локальной программе в пайп....
вот код, который не работает. Хендл стдаут получается, но не устанавливается.
на консоль после установки нового хендла идет вывод.
HANDLE hStdOut;
HANDLE hInReadPipe,hInWritePipe;
SECURITY_ATTRIBUTES PipeAttr;
PipeAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
PipeAttr.lpSecurityDescriptor = 0;
PipeAttr.bInheritHandle = 1;
if (!CreatePipe(&hInReadPipe,&hInWritePipe,&PipeAttr,0)) {
printf("Can't create 'In' pipe (error %d)\n",GetLastError());
goto ProcessErrors;
}
hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (hStdOut == INVALID_HANDLE_VALUE ) {
printf("Error GetStdHandle!\n");
goto ProcessErrors;
}
if (!SetStdHandle(STD_OUTPUT_HANDLE,hInWritePipe)) {
printf("Cannot change stdoutput!\n");
goto ProcessErrors;
}
printf("This message you must NOT view!!\n");
SetStdHandle(STD_OUTPUT_HANDLE,hStdOut);