Visual C ++ Hide Console Windows

0

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

HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd, 0);

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

  • 1
    Кстати, правильное значение - SW_HIDE , а не 0. И если вам не нужно окно консоли, не связывайте его как консольную программу. Заставьте его использовать подсистему Windows. Если вам нужна консоль, используйте AllocConsole чтобы получить ее.
  • 0
    Скомпилируйте программу с -mwindows если используете gcc или WinMain качестве точки входа. Таким образом, консоль не будет отображаться вообще. Не уверен, что вы можете сделать это в Visual-C ++, но это стоит попробовать.
Теги:
console
window
hide

2 ответа

0

FreeConsole() api сделает это за вас:

BOOL WINAPI FreeConsole(void);
0

Что хорошего в консольном окне, которое вы скрываете (если вы не делаете замену окон консоли, которую вы не делаете)?

Самый простой способ скрыть окно консоли - это не создавать его в первую очередь, т.е. Просто не связывать exe как исполняемую консольную подсистему, а ссылаться как исполняемый файл подсистемы графического интерфейса (как "windows").

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


Другой вариант - запустить вашу программу с помощью утилиты, которая запускает ее с скрытым скрытым окном консоли. VBScript и Windows Script Host приходят на ум. Но это было бы относительно сложным усложнением, чтобы подавить окно, которое есть только потому, что вы его просили...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню