Ich möchte in der Lage sein, mein Programm von der Konsole ähnlich wie wget -b
zu lösen. Ein Codefragment könnte so aussehenC# schließen Standard aus
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.*/
}
Aber System.Console.Out.Close();
nicht das Richtige tun.
Um zu verdeutlichen, die "richtige Sache" ist, wenn dieses Programm von der Konsole ausgeführt wird, sollte die Eingabeaufforderung wieder erscheinen. Oder, wenn dieses Programm von explorer.exe
ausgeführt wird, sollte das Konsolenfenster geschlossen werden.
Bitte lassen Sie mich wissen, wenn ich nicht klar bin.
nur um sicher zu sein, dass ich Ihre Frage verstanden: Wenn Sie yourprogram.exe im Cmd-Fenster eingeben, sollte ein neues erscheinen. Wenn du die Anwendung im Explorer doppelt klickst, willst du die Konsole geschlossen haben? Was willst du mit deiner Bewerbung machen? –
Eine Konsolenanwendung ohne die Konsole? Ich kann es kaum erwarten, die Antwort darauf zu sehen ... –
Wenn Sie eine lang laufende Anwendung möchten, die im Hintergrund bleibt, benötigen Sie einen Windows-Dienst. Wenn Sie Ihre Anwendung nur regelmäßig starten möchten, sollten Sie sie mit dem Taskplaner starten. – jlafay