Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
#1

Запуск программы без создания окна. Запуск фоновой программы - C++

07.01.2014, 16:40. Просмотров 2289. Ответов 9
Метки нет (Все метки)

Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не появилось.

Очень криво спросил, но мне кажется понятно, что я имел в виду.

интернеты подсказали использовать
C++
1
ShowWindow(GetConsoleWindow(), SW_HIDE);
но это естественно не выход:
запуск программы, на момент появляется консоль, и тут же сворачивается, исчезает с панели задач.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 16:40     Запуск программы без создания окна. Запуск фоновой программы
Посмотрите здесь:
Запуск программы C++
Запуск программы ! C++
Запуск G++ из программы C++
Запуск программы вне ОС C++
C++ Запуск программы с++ в браузере
Запуск готовой программы C++
Запуск внешней программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
07.01.2014, 16:45     Запуск программы без создания окна. Запуск фоновой программы #2
попробуйте так(Visual Studio 2008):
C++
1
2
3
4
5
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
 
int main () {
    while(true) ;
}
uhx
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
07.01.2014, 16:49     Запуск программы без создания окна. Запуск фоновой программы #3
Свойства проекта - > Компоновщик - > Система -> Меняем в графе "Подсистема" (1 строка) на "Windows (/SUBSYSTEM:WINDOWS)"
Компоновщик - > Дополнительно - > Точка входа (1 строка) "mainCRTStartup"
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
07.01.2014, 17:12  [ТС]     Запуск программы без создания окна. Запуск фоновой программы #4
TrueBit, окошко консольное остается, а в консольку вывод текста исчез.
+ 100% загрузка ядра ЦП
uhx, исчезло окошко, все здорово, но опять же 100% загрузка ядра ЦП.
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 816
Регистрация: 27.09.2012
Сообщений: 18,055
Записей в блоге: 3
Завершенные тесты: 1
07.01.2014, 17:25     Запуск программы без создания окна. Запуск фоновой программы #5
Цитата Сообщение от GBIT Посмотреть сообщение
но опять же 100% загрузка ядра ЦП.
и Вы считаете, что тут виноват "показ" окна?
Убежденный
Системный программист
Эксперт С++
15296 / 6928 / 1096
Регистрация: 02.05.2013
Сообщений: 11,336
Завершенные тесты: 1
08.01.2014, 00:20     Запуск программы без создания окна. Запуск фоновой программы #6
Цитата Сообщение от GBIT Посмотреть сообщение
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли.
Из самого консольного приложения - никак.
Потому что консоль будет создана еще до того, как оно успеет что-то с ней сделать.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
08.01.2014, 00:25     Запуск программы без создания окна. Запуск фоновой программы #7
Цитата Сообщение от GBIT Посмотреть сообщение
чтобы консольное приложение при запуске не создавало окошко консоли
Цитата Сообщение от GBIT Посмотреть сообщение
сворачивается, исчезает с панели задач
Зачем тогда вообще нужно создавать консольное окно? Сделайте винапишное окно 1x1, и никто его не увидит.
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
08.01.2014, 20:50  [ТС]     Запуск программы без создания окна. Запуск фоновой программы #8
Croessmah, может и не в этом дело, я не знаю, честно скажу я новичок.
В любом случае я прошу подсказать вариант, который возможно использовать.

Убежденный, действительно, логично. Значит, наверное, есть смысл переезжать на форму и не отрисовавыть ее. Но как? так же, как мне подсказали, в настройках проекта задать?

programina, я правильно понимаю, что вы про консольное приложение? или нужно как-то иначе проект создавать? В силу отсутствия опыта работы с формами и окнами не совсем понял, как и что сделать.
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 20:55     Запуск программы без создания окна. Запуск фоновой программы #9
100% отжырается из-за бесконечного цикла.
C++
1
while(true) ;
если будет другой код, то и загрузка процессора будет другой.

так что если у вас там бесконечный цикл - уберите его и все.
решение от uhx для вас вроде бы рабочее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2014, 15:36     Запуск программы без создания окна. Запуск фоновой программы
Еще ссылки по теме:
C++ Запуск программы с параметром.
C++ Запуск программы и ее компиляция
Запуск .exe из программы C++
C++ Запуск программы с параметрами
C++ Запуск файла из С++ программы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
09.01.2014, 15:36  [ТС]     Запуск программы без создания окна. Запуск фоновой программы #10
DU, очевидно что while отъедал, я поставил туда getch()
но загрузка оставалась, и через некоторое время программа завершалась, почти сразу. Подумал, что дело не в цикле. Сейчас сделал Sleep() - все отлично.
Yandex
Объявления
09.01.2014, 15:36     Запуск программы без создания окна. Запуск фоновой программы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru