Как сделать простой Hello World «невидимым» в Windows (C / C ++) - PullRequest
3 голосов
/ 28 февраля 2012

Здравствуйте, я хотел бы знать, возможно ли сделать простую программу Hello World в Windows (а затем перейти к реальной) невидимой. Под этим я подразумеваю, что когда я выполняю программу, графического указания не будет. Нет печати cmd «Hello world», нет ярлыка на панели задач, нет иконки в системном трее, ничего. Я хочу, чтобы программа выполнялась тихо, не беспокоя меня.

Так о чем я здесь думаю, люди? Это выполнимо? Это будет как услуга? Понятия не имею.

Я бы хотел написать код на C / C ++.

Ответы [ 3 ]

3 голосов
/ 28 февраля 2012

Если это приложение, которое необходимо запустить от пользователя для выполнения какой-либо задачи, или, во всяком случае, это какое-то невидимое приложение, привязанное к текущему сеансу пользователя, просто создайте приложение с графическим интерфейсом без создания какого-либо окна.

Если вместо этого такое приложение должно оставаться в фоновом режиме независимо от входов в систему / выхода из системы, вам следует написать службу Windows - но обратите внимание, что для того, чтобы все правильно настроить в службе, требуется немало опыта в программировании Windows; если вы не знаете, что такое служба Windows, вам, вероятно, следует придерживаться первого решения.

1 голос
/ 28 февраля 2012

То, как вы справитесь с этим, зависит от типа вашего приложения для Windows.

Если вы хотите, чтобы программа запускалась при загрузке и остановилась при выключении, тогда продолжайте написание службы Windows, что выполнимо, но не так просто, как написание обычного приложения в пользовательском режиме. Отладка службы лежит где-то между обычным приложением и драйвером устройства, больше похоже на приложение, но вы должны использовать ловушки шаблонов Microsoft, чтобы получить контроль над отладкой.

Если вам просто нужна бесшумная консоль, а это приложение Windows (главное окно и все такое), вы можете создать окно, чтобы оно не отображалось изначально.

Если это консольное приложение, вы должны иметь возможность перенаправить вывод консоли. Существуют подпрограммы библиотеки Win32 для управления консолью, включая закрытие окна, поэтому приложение может запускаться «без вывода сообщений». Вот ссылка на эти функции.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

0 голосов
/ 28 февраля 2012

Да, вы можете превратить его в сервис, и консоль не будет отображаться.Для получения дополнительной информации о том, как этого добиться, проверьте эту страницу MSDN .

...