![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Утро доброе. Вот что из хочу сделать есть консольное приложение написанное в Visual C++ , хочется что бы после запуска приложения из консоли, консоль не ждала пока отработает приложение , а опять перехватывало ввод инфы, за исключением случаев, когда приложение запускается с ключиком -s. Как обработать ключик, знаю, а вот как вернуть ввод в консоль нет. Кто знает как такое можно сделать? Ну или киньте ссылку на инфу, я пока ничего не нашел.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Если я правильно понял эту сложную фразу вам нужно запустить ваше приложение в фоне (background) В рамках одного приложения это сделать невозможно. Вам нужно запустить копию своего приложения в отсоединенной от консоли моде. Смотри функцию CreateProcess , параметр dwCreationFlags - флаги CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
в смысле, после запуска из шела? тогда чем не угодила команда start? она просто запускает приложение в отдельном окне без ожидания его завершения -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 13 Всего: 85 |
надо просто делать не консольное, тогда оно запустится в фоне
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Кстати, отличная идея. Сделайте пускач для вашего приложения в виде bat вайла, который в зависимости от первого параметра будет либо запускать приложение напрямую, либо запускать его через start с ключем /MIN. Само приложение при этом должно будет позвать функцию FreeConsole() |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Насколько я понимаю CreateProcess - это что то типа fork() под Unix системами? Да возможно это поможет, как то про это не подумал
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 3 Всего: 14 |
делаем так, запускаем прогу, проверяем ключик -s, если его нет то запускаем еше одну копию консоли и все.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |