Ik heb een beetje een domme vraag, maar hoe kun je een console applicatie afsluiten? Met een windows-form app gebruik je application.exit maar dat werkt dus niet. Ik zoek dus iets van Console.Close() of Console.Exit() (bestaaan ook geen van tweeen). Via Google krijg ik geen resultaat.
Probeer het hier eens tussen
Edit:oops verkeerd link
Edit:oops verkeerd link
[ Voor 45% gewijzigd door mulder op 23-10-2006 17:27 ]
oogjes open, snaveltjes dicht
Environment.Exit() ?
zo niet, dan bruut met
Process.GetCurrentProcess().Kill();
source:
http://www.artima.com/for....jsp?forum=76&thread=4368
me eerste hit op google met:
http://www.google.com/sea...sole+application+exit&lr=
zo niet, dan bruut met
Process.GetCurrentProcess().Kill();
source:
http://www.artima.com/for....jsp?forum=76&thread=4368
me eerste hit op google met:
http://www.google.com/sea...sole+application+exit&lr=
Waarom beeindig je niet gewoon de loop die je console applicatie in de lucht houd? Dit is naar mijn mening de mooiste oplossing. Dit gebeurt ook als je Application.Exit() doet in een WinForms applicatie. Die call zorgt er simpelweg voor dat je Application.Show(..) function doorloopt enzo dus uiteindelijk je applicatie stopt.
Correct me if i'm wrong
Correct me if i'm wrong
Verwijderd
You're wrong. Application.Run zorgt ervoor dat er een message loop wordt gestart voor de thread waarmee je de methode aanroept. Kortom, die loop houdt je thread bezig voor zolang dat nodig is. Als je een form als argument aan Application.Run meegeeft zal de methode pas returnen als de form gesloten wordt.CyBoB schreef op maandag 23 oktober 2006 @ 18:33:
Waarom beeindig je niet gewoon de loop die je console applicatie in de lucht houd? Dit is naar mijn mening de mooiste oplossing. Dit gebeurt ook als je Application.Exit() doet in een WinForms applicatie. Die call zorgt er simpelweg voor dat je Application.Show(..) function doorloopt enzo dus uiteindelijk je applicatie stopt.
Correct me if i'm wrong
Dat wil niet zeggen dat de hele applicatie is afgesloten, dat is pas zo als er geen threads meer lopen (tenzij het background threads zijn). In een simpele applicatie is het vaak zo dat het sluiten van het formulier alles stopt, maar dat hoeft niet zo te zijn.
Voor een console applicatie geldt overigens precies hetzelfde. Je krijgt alleen je command prompt pas terug als alle foreground threads gestopt zijn.
Dat probeerde ik idd te vertellenVerwijderd schreef op maandag 23 oktober 2006 @ 18:48:
[...]
You're wrong. Application.Run zorgt ervoor dat er een message loop wordt gestart voor de thread waarmee je de methode aanroept. Kortom, die loop houdt je thread bezig voor zolang dat nodig is. Als je een form als argument aan Application.Run meegeeft zal de methode pas returnen als de form gesloten wordt.
Dat wil niet zeggen dat de hele applicatie is afgesloten, dat is pas zo als er geen threads meer lopen (tenzij het background threads zijn). In een simpele applicatie is het vaak zo dat het sluiten van het formulier alles stopt, maar dat hoeft niet zo te zijn.
Voor een console applicatie geldt overigens precies hetzelfde. Je krijgt alleen je command prompt pas terug als alle foreground threads gestopt zijn.
allereerst: Environment.Exit werkt inderdaad (ik heb blijkbaar niet goed genoeg gegoogled)
ten tweede: Cybob/cheatah, misschien begrijp ik het verkeerd maar bedoelen jullie dat je zeg maar aan het eind van je Main(string[ ] args) functie komt of er vanuit returned? Die optie is zeker wel door mijn hoofd gegaan. Ik heb er echter voor gekozen om dit een statische functie op te nemen... Waarom? Nu kan ik van overal in het progje de standaard afsluit procedure aanroepen (laat wat statistieken zien en sluit een aantal bestanden) Anders had ik (mijn insziens, correct me if i'm wrong) overal moeten checken op return waardes van functies en dan helemaal in mijn main de zaak moeten afsluiten.
ten tweede: Cybob/cheatah, misschien begrijp ik het verkeerd maar bedoelen jullie dat je zeg maar aan het eind van je Main(string[ ] args) functie komt of er vanuit returned? Die optie is zeker wel door mijn hoofd gegaan. Ik heb er echter voor gekozen om dit een statische functie op te nemen... Waarom? Nu kan ik van overal in het progje de standaard afsluit procedure aanroepen (laat wat statistieken zien en sluit een aantal bestanden) Anders had ik (mijn insziens, correct me if i'm wrong) overal moeten checken op return waardes van functies en dan helemaal in mijn main de zaak moeten afsluiten.
Pagina: 1