Hi hab jetzt die Forumsuche bemüht und google und komme auf keinen grünen zweig, mein problem ist ich habe eine Windowanwendung (kann/darf ich nicht ändern), nun will ich zu einen gewissen zeitpunkt zusätzlich eine Console anzeigen lassen (eigenes fenster) an die ich ausgaben senden kann (fenster soll stehen bleiben bis ich sage jetzt wider ausblenden, ich möchte auch nicht nur 1 ausgabe sonder wie in ner Konsolenanwendung immer eine zeile anhängen). Mir ist egal ob das die Console von .net ist oder das CMD fenster (es darf keine Winform sein).
Habe viele beispiele gefunden in dennen steht wie ich aus der CMD Lese aber nicht wie ich in sie schreibe.
bin für jede anregung dankbar.
Gruß techno_prog
Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉
AllocConsole ist dein Freund.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hi danke für die schnelle antwort, habs jetzt grad auch ausprobiert und es ist genau das was ich suche landet gleich bei den Lesezeichen ^^, hab nur noch eine frage wie kann ich verhindern das wenn die console geschlossen wird sich auch mein programm schließt, bzw wie kann ich das schließen unterbinden (beides währ gut)
:edit
weis nicht ob das möglich ist es währe auch ok wenn ich auf den schließen butten drück und das ding minimiert sich nur!
wie vorhin schon gesagt ich möchte keine lösungen (dagengen hab ich auch nix ^^) für stuppser in die richtige richtung währ ich genauso dankbar 😉
Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉
Die Console schliesst sich, sobald der Thread (der die Console erstellt) ungültig wird/abläuft. D.h. mit irgendwelchen mitteln den Thread aufrecht erhalten.
Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat
hi pohlmann, danke für den hinweis nun weis ich vielleicht wie ich verhindern kann das mein prog geschlossen wird, ich werde die konsole einfach in nen extra Thread starten.
problem 2 bleibt aber bestehen was muss ich tun damit das schließen abgefangen wird (wenn ich auf X drücke), bei ner Form würd ich einfach in die on Close methode gehen und dort das schließen verhindern, andere möglcihkeit währ ich frag einfach in nem trigger ab ob die Console noch da ist (also der extra thread) und wenn nicht starte ihn neu.
danke für eure hilfe
Gruß techno_prog
Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉
Musst du zwangsläufig so machen.
Du kannst allerdings über einen Handler feststellen, was mit der Konsole (Shell) gerade geschieht. Allerdings kannst du das nicht so einfach verhindern.
http://www.pinvoke.net/default.aspx/kernel32/SetConsoleCtrlHandler.html
[DllImport("kernel32.dll")]
static extern bool SetConsoleCtrlHandler(ConsoleCtrlDelegate HandlerRoutine,
bool Add);
User-Defined Types:
// Delegate type to be used as the Handler Routine for SCCH
delegate Boolean ConsoleCtrlDelegate(CtrlTypes CtrlType);
// Enumerated type for the control messages sent to the handler routine
enum CtrlTypes : uint {
CTRL_C_EVENT = 0,
CTRL_BREAK_EVENT,
CTRL_CLOSE_EVENT,
CTRL_LOGOFF_EVENT = 5,
CTRL_SHUTDOWN_EVENT
}
private static bool ConsoleCtrlCheck(CtrlTypes ctrlType)
{
if(ctrlType == CtrlTypes.CTRL_CLOSE_EVENT) //Konsole schliesst
/* ... snip ... */
return true;
}
/* ... snip ... */
SetConsoleCtrlHandler(new HandlerRoutine(ConsoleCtrlCheck), true);
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hi an alle danke für die hilfe werd dies dann mal probieren,
meine fragen wurden soweit geklärt daher markier ich den thread erstmal als erledigt markieren, sollte sich sonst noch was regen meld ich mich einfach noch einmal.
Gruß techno_prog
Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉
edit: verweis auf neuen Thread QuickEdit-Modus ausschalten bei Console
Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉