![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 743
|
![]()
Теперь я наконец-то понял, что Вам нужно!
![]()
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не надо ничего никуда посылать, сказал же уже, после запуска через CreateProcess можно и читать поток вывода, и писать в поток ввода.
Гуглите примеры по нему.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#13 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
STARTUPINFO Si;
PROCESS_INFORMATION Pi; CreateProcess ( "d:\\...\\C1.exe", NULL, NULL, NULL, true, NORMAL_PRIORITY_CLASS, NULL, NULL, &Si, &Pi ); И это работает, т.е. в новом окне консоли запускается C1.exe Осталось освоить Read/Write... Будем искать ![]() |
![]() |
![]() |
![]() |
#14 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
CloseHandle( Pi.hProcess );
А вот здесь уже проблема... Окно консоли вообще не закрывается... Даже после закрытия Windows-приложения, которое его создало при помощи CreateProcess... |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
TerminateProcess
Ну или как-то нормально сообщить программе о том, что надо завершиться, если она это позволяет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#16 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
Правильно себя ведёт такой набор:
DWORD eCode; GetExitCodeProcess( Pi.hProcess, &eCode ); TerminateProcess( Pi.hProcess, eCode ); Windows-приложение остается, а консоль исчезает... |
![]() |
![]() |
![]() |
#17 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
Программа C1.exe "позволяет" ввести команду "quit"...
После этого она сама себя закрывает вместе с окном консоли... Сейчас как раз ищу варианты послать это самое "quit" из Form1, что полностью решит Write-проблему... Ну а потом Read... |
![]() |
![]() |
![]() |
#18 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
DWORD nWritten;
char ss[1000]; sprintf( ss, "quit\n" ); WriteConsole ( ??? // HANDLE hConsoleOutput, ss, strlen(ss), &nWritten, NULL ); Интуитивно понимаю, что должен как-то по Pi.hHandle консоли открытой CreateProcess(...) получить hConsoleOutput того же типа HANDLE... Если просто подставить Pi.hHandle в WriteConsole(..) - ничего не происходит... |
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не, это не то.
Вам в stdin писать надо, а не выводить что-то куда-то. https://www.google.com/search?q=crea...write+to+stdin https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx http://stackoverflow.com/questions/2...-in-c-language
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#20 |
Новичок
Джуниор
Регистрация: 08.05.2017
Сообщений: 16
|
![]()
Есть ещё WriteFileEx(...), где кроме записи в файл возможна запись "в консоль"...
Правда и HANDLE нужно получить при помощи CreateFile(...), а не CreateProcess(...) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы в консоли | deniscatch | Общие вопросы по Java, Java SE, Kotlin | 2 | 04.08.2014 23:38 |
Запуск и чтение данных из консоли | Random2 | C++ Builder | 0 | 26.02.2013 21:24 |
запуск сборки из консоли | sergio11 | C# (си шарп) | 2 | 01.02.2013 13:39 |
Запуск приложения из консоли | stpdqstns | Visual C++ | 4 | 04.11.2012 16:02 |
Запуск консоли и перенаправление вывода | ros.pro | Общие вопросы Delphi | 1 | 02.01.2012 18:49 |