Отключить отображение окна консоли

Где можно отключить в Microsoft-Visual-C++ показ окна консоли?

6 ответов

Решение

В вашем консольном приложении перейдите

Properties > Linker > System 

менять SubSystem в Windows

и в вашем коде заменить

int _tmain(int argc, _TCHAR* argv[])

с

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)

и добавить

#include <windows.h>

Это должно избегать отображения окна консоли в вашем консольном приложении.

Вы можете скрыть это прямо при запуске. Я не знаю, вызовет ли это мерцание:

HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );

В моем случае (vs2022 С++) все, что я сделал, это:

Изменить

интервал основной () {

к

интервал WinMain() {

и

Свойства > Компоновщик > Изменение системыSubSystemкWindows

Вы можете отключить консоль, манипулируя предварительно скомпилированной подсистемой EXE - таким образом вам не нужно никаких изменений в коде, поскольку вы работаете над конечным продуктом. Отрицательный аспект заключается в том, что вам нужно будет делать это каждый раз, когда вы перекомпилируете проект. Вы можете сделать это через HEX-редактор или воспользоваться бесплатным CFF Explorer.

  1. Откройте EXE через CFF Explorer
  2. Перейдите в заголовки Nt> Дополнительный заголовок
  3. Перейдите по Подсистеме и справа щелкните Консоль Windows и выберите Windows GUI.
  4. Сохраните файл, консоль больше не будет отображаться

Вы можете выполнить двоичное сравнение и найти точное местоположение в необработанном заголовке PE, а затем, возможно, выполнить некоторую автоматизацию после компиляции в VS

Для пользователей CMake.

      add_executable(${exeName} WIN32)

Вам нужно будет использовать WinMainвместо mainдля символа точки входа.

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

Другие вопросы по тегам