Re: Запуск консольного приложения из GUI приложения
От: Дракошка  
Дата: 15.09.01 11:48
Оценка:
Здравствуйте Pit, вы писали:

Pit>VC5. Необходимо запустить консольное Win32 приложение (КП) из GUI-приложения так, чтобы его вывод засунуть в буфер или в файл, не показывая при этом саму консоль.

Pit>Делаю через CreateProcess, указываю DETACHED_PROCESS; в STARTUPINFO — STARTF_USESTDHANDLES|SW_SHOWMINIMIZED.
Pit>Все работает, но вывод дочернего процесса перехватить не могу.
Pit>Если же сделать AllocConsole(), открыть файл CONOUT$ и в STARTUPINFO прописать хэндлы файла, то можно, но остается дурацкая консоль. Как ее убрать?
Pit>Какие есть еще способы получить вывод дочернего процесса, не открывая консоль?


Перед Вызовом CreateProcess нужно создать свои потоки ввода и вывода CreateStdIn() и CreateStdOut() чтоли не помню на вкидку и утсновить их в качестве текущих SetStdOut() чтоли? Опять таки на вскидку :-). А затем в специальной функции-обработчике выбирать символы из потока вывода и перенаправлять их туда куда нужно. Вообщем если ты еще не нашел решение шли мне на мыло я вышлю тебе исходники Sanya@cg.ru :-)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.