Что я хочу, так это то, что консольное окно просто уходит, а еще лучше, что оно скрыто, но я хочу, чтобы мое приложение продолжало работать. Это возможно? Я хочу иметь возможность использовать Console.WriteLine и иметь консоль в качестве окна вывода. Я хочу, чтобы иметь возможность скрывать и показывать его, и я не хочу, чтобы все приложение умирало только потому, что консоль была закрыта.
ИЗМЕНИТЬ
код:
internal class SomeClass {
[DllImport("kernel32")]
private static extern bool AllocConsole();
private static void Main() {
AllocConsole();
while(true) continue;
}
}
РЕДАКТИРОВАТЬ 2
Я попробовал принятое решение здесь [Capture console exit С#], по предложению в комментариях по этому вопросу. Код примера прослушивается тем, что DLLImport должен быть "kernel32.dll" или "kernel32", а не "Kernel32". Сделав это изменение, я получаю сообщение для моего обработчика для CTRL_CLOSE_EVENT, когда я нажимаю X в окне консоли. Однако вызов FreeConsole и/или возвращение true не препятствует завершению приложения.