2012-02-28 3 views
3

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

Итак, что я думаю о людях? Это выполнимо? Будет ли это услугой? Понятия не имею.

Я хотел был бы закодировать его в C/C++ btw.

+0

Просто сделайте приложение Windows (WinMain) без консоли или любого окна в нем. – Lundin

+0

Вы хотите ввести код в C или C++? Например, при кодировании на C вы не можете использовать класс std :: string. –

+0

Я действительно не беспокоюсь, но, учитывая ответы ниже, это, вероятно, будет сделано в C++ – Crone

ответ

1

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

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

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

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

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

+0

Wow thanks, вы, ребята, предоставили мне следующее руководство на следующем уровне! – Crone

0

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

+0

Спасибо за быстрый ответ, я создам приложение без GUI для запуска, а затем ознакомьтесь с материалом службы с информацией, которую вы, ребята, предоставили me – Crone

3

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

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

+0

Хммм я вижу. Я бы определенно начал работать в решении без GUI, так как у меня действительно не было опыта программирования окон. Однако сложно ли кодировать службу? Каковы предпосылки? Должен ли я быть богом в API Windows или простейшим путем. Люблю вас, ребята – Crone

+0

Не нужно быть богом Win32, но, безусловно, это не одна из самых простых вещей, потому что вам нужно хорошо понимать многие концепции/идиомы Win32. Вы можете посмотреть раздел [Services] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms685141%28v=vs.85%29.aspx) в MSDN, чтобы получить идея о том, что это за материал. –

 Смежные вопросы

  • Нет связанных вопросов^_^