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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
GBIT
 Аватар для GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
07.01.2014, 16:40     Запуск программы без создания окна. Запуск фоновой программы #1
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не появилось.

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

интернеты подсказали использовать
C++
1
ShowWindow(GetConsoleWindow(), SW_HIDE);
но это естественно не выход:
запуск программы, на момент появляется консоль, и тут же сворачивается, исчезает с панели задач.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 16:40     Запуск программы без создания окна. Запуск фоновой программы
Посмотрите здесь:

Запуск программы ! C++
Запуск .exe из программы C++
C++ Запуск программы с параметром.
Запуск программы C++
Запуск программы вне ОС C++
C++ Запуск программы и ее компиляция
Запуск G++ из программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TrueBit
 Аватар для 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
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 302
07.01.2014, 16:49     Запуск программы без создания окна. Запуск фоновой программы #3
Свойства проекта - > Компоновщик - > Система -> Меняем в графе "Подсистема" (1 строка) на "Windows (/SUBSYSTEM:WINDOWS)"
Компоновщик - > Дополнительно - > Точка входа (1 строка) "mainCRTStartup"
GBIT
 Аватар для GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
07.01.2014, 17:12  [ТС]     Запуск программы без создания окна. Запуск фоновой программы #4
TrueBit, окошко консольное остается, а в консольку вывод текста исчез.
+ 100% загрузка ядра ЦП
uhx, исчезло окошко, все здорово, но опять же 100% загрузка ядра ЦП.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12283 / 6970 / 784
Регистрация: 27.09.2012
Сообщений: 17,282
Записей в блоге: 2
Завершенные тесты: 1
07.01.2014, 17:25     Запуск программы без создания окна. Запуск фоновой программы #5
Цитата Сообщение от GBIT Посмотреть сообщение
но опять же 100% загрузка ядра ЦП.
и Вы считаете, что тут виноват "показ" окна?
Убежденный
Системный программист
 Аватар для Убежденный
14465 / 6449 / 1020
Регистрация: 02.05.2013
Сообщений: 10,684
Завершенные тесты: 1
08.01.2014, 00:20     Запуск программы без создания окна. Запуск фоновой программы #6
Цитата Сообщение от GBIT Посмотреть сообщение
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли.
Из самого консольного приложения - никак.
Потому что консоль будет создана еще до того, как оно успеет что-то с ней сделать.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
08.01.2014, 00:25     Запуск программы без создания окна. Запуск фоновой программы #7
Цитата Сообщение от GBIT Посмотреть сообщение
чтобы консольное приложение при запуске не создавало окошко консоли
Цитата Сообщение от GBIT Посмотреть сообщение
сворачивается, исчезает с панели задач
Зачем тогда вообще нужно создавать консольное окно? Сделайте винапишное окно 1x1, и никто его не увидит.
GBIT
 Аватар для GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
08.01.2014, 20:50  [ТС]     Запуск программы без создания окна. Запуск фоновой программы #8
Croessmah, может и не в этом дело, я не знаю, честно скажу я новичок.
В любом случае я прошу подсказать вариант, который возможно использовать.

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

programina, я правильно понимаю, что вы про консольное приложение? или нужно как-то иначе проект создавать? В силу отсутствия опыта работы с формами и окнами не совсем понял, как и что сделать.
DU
1478 / 1054 / 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++ Запуск программы с++ в браузере
C++ Запуск файла из С++ программы
Запуск внешней программы C++
C++ Запуск программы с параметрами

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

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

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