Я хотел был бы отделить мою программу от пульта очень как wget -b
. Фрагмент кода может выглядетьC# close standard out
static void Main(string[] args)
{
var settings = new Settings(args);
if (settings.Background)
{
/*Tell the user what's going on.*/
System.Console.WriteLine("Detatching from console. The program will still be running.");
System.Console.Out.Close();
}
/*do work then exit.*/
}
Но System.Console.Out.Close();
не делает правильно.
Чтобы уточнить, «правильная вещь» при запуске этой программы с консоли должна появиться снова. Или, при запуске этой программы от explorer.exe
, консольное окно должно закрываться.
Пожалуйста, дайте мне знать, если я не буду чист.
, чтобы быть уверенным, что я понял ваш вопрос: если вы наберете yourprogram.exe в CMD-окне, должно появиться новое. если вы дважды щелкните приложение в проводнике, то вы хотите закрыть консоль? что вы хотите сделать с вашим приложением? –
Консольное приложение без консоли? Не могу дождаться ответа на этот вопрос ... –
Если вы хотите, чтобы приложение, работающее в фоновом режиме, оставалось в фоновом режиме, вам нужен сервис Windows. Если вы просто хотите периодически запускать приложение, вы можете подумать о его запуске с планировщиком задач. – jlafay