Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

перенаправление стандартного вывода

13K
12 января 2007 года
AlexU
6 / / 16.12.2005
Возникла небольшая проблеме, если подскажите буду очень благодарен.
Суть следующая: оконное приложение (виндовс ХР) запускает консольное приложение (обработка файла). Консольное приложение результаты работы выводит в стандартный вывод, как сделать так, чтобы вывод программы отображался в EDIT control оконного приложения.

Пытался сделать следующее:
1. создавал файл -
hFile = CreateFile( "Log.txt",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
файл нужен для перенаправления на него стандартного вывода.
2. создавал процес -
CalcInfo.cb = sizeof(STARTUPINFO);
CalcInfo.cbReserved2 = 0;
CalcInfo.dwFillAttribute = 0;
CalcInfo.dwFlags = STARTF_USESTDHANDLES;
CalcInfo.dwX = 0;
CalcInfo.dwXCountChars = 0;
CalcInfo.dwXSize = 0;
CalcInfo.dwY = 0;
CalcInfo.dwYCountChars = 0;
CalcInfo.dwYSize = 0;
CalcInfo.hStdError = hFile;
CalcInfo.hStdInput = 0;
CalcInfo.hStdOutput = hFile;
CalcInfo.lpDesktop = NULL;
CalcInfo.lpReserved = NULL;
CalcInfo.lpReserved2 = NULL;
CalcInfo.lpTitle = "UdavCalc";
CalcInfo.wShowWindow = false;
if (!CreateProcess( "file.exe",
"file.exe -p1 -p2 -p3",
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
CurrentDir,
&CalcInfo,
&ProcInfo));
Консольная программа запускается, делает все правильно, но вот вывод в файл не записывается.
Подскажите пожалуйста в чем ошибка, или может пошел не по правильному пути.
13K
12 января 2007 года
AlexU
6 / / 16.12.2005
Проблнму решил, если кому интересно:

на 1 этапе при создании файла нужно задать SECURITY_ATTRIBUTES

SecAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
SecAttr.bInheritHandle = TRUE;

hFile = CreateFile( "Log.txt,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
&SecAttr,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог