Я нашел информацию о том, как спрятать собственное окно консоли. Удивительно, но единственными решениями, которые я смог найти, были хакерские решения, связанные FindWindow()
с поиском окна консоли по его названию . Я углубился в Windows API и обнаружил, что есть гораздо лучший и более простой способ, поэтому я хотел опубликовать его здесь, чтобы другие могли его найти.
Как скрыть (и показать) окно консоли, связанное с моим собственным консольным приложением C #?
c#
console
console-application
Timwi
источник
источник
Вот как:
источник
csproj
файла вручную. В Visual Studio нет графического интерфейса для этого, но он сохранит настройки, если выcsproj
правильно отредактируете файл.using System.Runtime.InteropServices;
const int SW_SHOWMINIMIZED = 2;
затемShowWindow(handle, SW_SHOWMINIMIZED);
консоль запускается не скрытой, а просто свернутой.Зачем вам консольное приложение, если вы хотите скрыть консоль? знак равно
Я рекомендую установить тип вывода проекта в Windows Application вместо консольного приложения. Он не покажет вам окно консоли, но выполнит все действия, как это делает консольное приложение.
источник
TopShelf
позволяет вам работатьConsoles
в качестве службы, и это нарушает этоВы можете сделать обратное и установить тип вывода приложения: Приложение Windows. Затем добавьте этот код в начало приложения.
Этот код покажет Консоль, если
showConsole
естьtrue
источник
Смотрите мой пост здесь:
Показать консоль в приложении Windows
Вы можете создать приложение для Windows (с окном или без него) и показывать консоль по желанию. При использовании этого метода окно консоли никогда не появляется, если вы явно не показываете его. Я использую его для двухрежимных приложений, которые я хочу запускать в консольном или графическом режиме в зависимости от того, как они открываются.
источник
«Просто спрятать» можно:
Измените тип вывода с Консольного приложения на Приложение Windows ,
И вместо этого
Console.Readline/key
вы можете использоватьnew ManualResetEvent(false).WaitOne()
в конце, чтобы приложение работало.источник
Если вы не хотите, чтобы это зависело от заголовка окна, используйте это:
...
источник
Если у вас нет проблем с интеграцией небольшого пакетного приложения, существует программа Cmdow.exe , которая позволяет скрывать окна консоли в зависимости от заголовка консоли.
Добавьте exe-файл в решение, установите для действия сборки значение «Содержимое», установите для параметра «Копировать в выходной каталог» то, что вам подходит, и cmdow скроет окно консоли при запуске.
Чтобы снова сделать консоль видимой, просто измените аргументы
источник