mit der console interaktiv komunizieren
ich habe zwar schon mal dies bezüglich im DF gepostet ( http://www.delphi-forum.de/viewtopic...425&highlight= ) aber da ist bis jetzt nix vernüftiges bei rausgekommen also dachte ich ich versuche es mal hier. vielleicht habe ja die leser in der DP einen brauchbaren lösungsvorschlag weil es mir eben auf den nägeln brennt wie man so schön sagt.
also ich habe folgends problem: mein programm soll ein doscommand an die console übergeben. soweit ist das ja auch kein problem. code dazu findet man ja genug. nur leider ist das was man findet, ein klein wenig an meinem problem vorbei, weil der command ausgeführt wird und das ergebnis in einem memo ausgegeben wird und die console wird dann wieder geschlossen. und genau da sitzt mein problem. die console soll sich nicht schliessen, sondern auf weitere anweisungen warten, eben interaktiv komunizieren, mit meinem programm. bei dem code welchen man findet ist zum beispiel ein cd oder cd.. nicht möglich genausowenig kann man laufende prozeße unterbrechen. wenn ich jetzt zb. in die richtig console eingebe ping -t www.target.de werden fortlaufend singnal zum host gesendet. dies kann ich im normalfall mit strg+c unterbrechen. bei dem code den man findet geht das aber nicht bestenfalls wird das command ausgefüht und man kann es nicht mehr unterbrechen, schlechtenfalls hängt sich das programm ganz auf. je nach dem welchen code man von dem was man findet verwendet. ich hoffe mir kann jemand helfen. |
Re: mit der console interaktiv komunizieren
Kommunizier mit der Konsole über Pipes.
|
Re: mit der console interaktiv komunizieren
Zitat:
Also ich hatte so ein Problem noch nie, ich weiß aber, das man ein CMD starten kann und auf Pipes umleiten, schau dir mal das hier an, vielleicht hilft das irgendwie: Zitat:
Bye |
Re: mit der console interaktiv komunizieren
das es an den "Pipes" liegen könnte, konnte ich mir schon denken nur leider versteh ich nicht viel davon. hast du da nicht ein code beispiel für mich (unfähigen api programmierer)?
das was Kedariodakon geschrieben hat hilft mir nicht wirklich weiter, denke ich weil ich ja nicht die "echte" console benutze sondern alles über meine programm laufen lass in und output |
Re: mit der console interaktiv komunizieren
Zitat:
Bye |
Re: mit der console interaktiv komunizieren
Zitat:
doch mit paramter /k gehts !!! den code stelle ich gleich noch vor wo bei ich dazusagen muß, das die eigendliche funktion aus dem delphi-treff ist... |
Re: mit der console interaktiv komunizieren
Hallo
Hm, was ist eine regestrierten Pipe und wie greifst Du daruf zu (Codebeispiel). Wie kann man eigentlich auf eine Eingabaufforderung reagieren. Oder wie bekommt man überhaupt mit, das ein Dos Programm auf eine Eingabe wartet? // Martin |
Re: mit der console interaktiv komunizieren
ich doch noch mal was berichtigen.... es wird nur 1x ein verzeichniswechsel aus geführt wenn ich zweimal cd.. cd.. mache gehts nicht. da ich aber insgesamt 4 code beispiele habe werde ich jetzt mal alle durchtesten...
Zitat:
|
Re: mit der console interaktiv komunizieren
Naja die Konsole hat ja nen Output als pipe, der ja nur ausgegeben wird, war irgendwie sowas wie STDOut und ERROut, da muß es auch ein *In* geben :roll:
Nur brauch man die Pipe von der CMD die man gestartet hat ^^ Einzelne befehle kann man sich ja auch auf pips, bzw. datein ausgeben lassen: dir c:\gibtsnet.haumichtod 1>>STDOut.txt 2>>ErrOut.txt Normale Ausgabe in STDOut.txt und ERRor Ausgabe in ErrOut.txt... Bye Edit zur not die gedrückten Tasten dem CMD zusenden ^^ |
Re: mit der console interaktiv komunizieren
also wenn ich eingebe "cd.." und lasse mir dann mit "dir" den verzeichnisinhalt anzeigen zeigt er zwar an da er das verzeichnis gewechselt hat aber dir liefert immer noch den alte verzeichnis inhalt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz