Home of Gamehacking

Normale Version: CMD inhalt in TextBox syncron anzeigen... aber wie???
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen ich suche verzweifelt nach einer Lösung für mein Problem.

Zurzeit sieht der Code so aus und funktioniert auch bis auf ein problem.
Die Form friert ein solange die CMD arbeitet und zeigt erst nach dem alles fertig ist alles in der TextBox an.
Will es aber Syncron haben ohne das meine Form einfriert.... brauche da hilfe und mache da schon Tage lang rum....
Es muss irgendwas geben, dass es syncron arbeiten lässt...

Code:
'Damit jeder weis was ich meine.
    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Try
            Dim p As New Process
            p.StartInfo.UseShellExecute = False
            p.StartInfo.RedirectStandardOutput = True
            p.StartInfo.FileName = "ping.exe"
            p.StartInfo.Arguments = "192.168.2.1"
            p.Start()
            Dim text As String = p.StandardOutput.ReadToEnd
            p.WaitForExit()
            TextBox2.Text = text
        Catch ex As Exception
            MsgBox("Befehl nicht ausführbar, ping.exe nicht gefunden!!!")
        End Try
    End Sub

'Hier ist mein Original Code, will das in die TextBox2 anzeigen lassen, ABER syncron.
 Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Try
            Dim p As New Process
            p.StartInfo.UseShellExecute = False
            p.StartInfo.RedirectStandardOutput = True
            p.StartInfo.FileName = "DTC.exe"
            p.StartInfo.Arguments = " -f" & TextBox1.Text & " -w -wp1 -l15"
            p.Start()
            Dim text As String = p.StandardOutput.ReadToEnd
            p.WaitForExit()
            TextBox2.Text = text
        Catch ex As Exception
            MsgBox("Befehl nicht ausführbar, DTC.exe nicht gefunden!!!")
        End Try


Bin am verzweifeln :( und will mein Projekt damit zuende bringen und ist äusserst wichtig. Beim Googlen hab ich keine Codes gefunden die so funktionieren wie ich das will.
Bitte keine asyncron methode posten, da dieser Code das genau tut nun will ich es aber syncron, bitte dran denken.
Will die Form nicht eingefroren haben sondern sie soll syncron auslesen was in der cmd grad geschieht. Bitte testet auch euren code den ihr macht bevor ihr hier das reinpostet. Will das schnell zu ende bringen und keine endlosdiskusion hier machen.

ich bitte euch um hilfe. Smiling thx in vorraus.

Und was hälst Du davon???
http://www.vbarchiv.net
(16.12.2012, 02:47)sILeNt heLLsCrEAm schrieb: [ -> ]Und was hälst Du davon???
http://www.vbarchiv.net

Hmm tut mir leid, aber da friert weiterhin meine Form ein.
Es muss doch etwas geben was weiter hilft.

Versucht doch mal selbst zu testen und nicht immer nur andere links zu geben die dann doch das asyncron machen das ich aber nicht will. Da könnte ich genauso gut mein Code verwenden funktioniert genauso und sogar besser wie der umständliche code der nicht mal das kann was ich wollte.

Ich sagte syncron nicht anders.
Trotzdem danke für dein versuch mir zu helfen, nicht böse gemeint...

Edit:
Hab das jetzt mal so probiert, aber funktioniert nicht... was mach ich falsch?

Code:
    Delegate Sub UpdateTextBoxTextDelegate(ByVal text As String)

    Sub Processtart()
        Try
            Dim p As New Process
            p.StartInfo.UseShellExecute = False
            p.StartInfo.RedirectStandardOutput = True
            p.StartInfo.ToString()
            p.StartInfo.CreateNoWindow = True
            p.StartInfo.FileName = "DTC.exe"
            p.StartInfo.Arguments = " -f" & TextBox1.Text & " -w -wp1 -l15"
            p.Start()
            Dim text As String = p.StandardOutput.ReadToEnd
            p.WaitForExit()
            p.Start()
        Catch ex As Exception
        End Try
    End Sub

    Private Sub Button10_Test_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Processtart()
    End Sub

    Private Sub UpdateTextBoxText(ByVal text As String)
#If DEBUG Then
        Debug.WriteLine(text)
#End If
        If Me.CheckBox1.Checked Then
            Me.TextBox2.AppendText(text + Environment.NewLine)
        Else
            Me.TextBox2.Text = text
        End If
    End Sub

    Private Sub ProcessOutputDataReceived(ByVal sender As Object, ByVal e As DataReceivedEventArgs) Handles '???? Was brauche ich da?
        If Not String.IsNullOrEmpty(e.Data) Then
            Me.Invoke(New UpdateTextBoxTextDelegate(AddressOf UpdateTextBoxText), New Object() {e.Data})
        End If
    End Sub


@ sILeNt heLLsCrEAm
So wenn ich um hilfe bitte und dafür ohne Vorwarnung gesperrt werde, und sei es nur vorübergehend, kann man es knicken. Hier bekommt man genauso schwer hilfe, selbst jetzt wo mein account wieder freigeschaltet ist, hat sich keiner gemeldet.

Das was du von dir gegeben hast war übertrieben. Du siehst selbst das sich mit oder ohne PUSH niemand meldet. Also kennt sich keiner von euch damit aus, oder es hat keiner lust zu helfen wie auch immer. Mit dein Link konnte ich nichts anfangen hatte in der Zeit wo ich meine sperre hatte woanders hilfe bekommen. Also das Forum macht bei solchen aktionen nicht wirklich ein guten eindruck. sry wenn ich das so gesagt hab, meine es nicht böse und hab auch nichts persöhnliches gegen dich sILeNt heLLsCrEAm.
Wenn du mich nicht leiden kannst sperre mich permanent. Und hör auf Posts zu manipulieren. Nur weil du Super Moderator bist und der Meinung bist ich miesachte die Regeln und ich hatte wirklich dringend hilfe gebraucht, aber gut wenn keiner hier bereit ist obwohl es einige bestimmt könnten zu helfen, es gibt genug andere Leute die nicht in diesem Forum registriert sind die mir helfen können. Dann kannste auch mein Account löschen und zeigst damit das ich nicht willkommen bin. Auch wenn du das nicht ertragen kannst, mehr als mein Account permanent sperren oder löschen kannste nicht. Ich lass mir sowas nicht gefallen und ich betrachte deine Aktion eine grundlose Handlung.
Ich habe hier nichts zu verlieren und keine Angst vor permanenten bann oder Löschung meines Accounts.
Selbst wenn du nach dem du das gelesen hast wieder behauptest ich habe gegen die regeln verstossen, dann ist vermutlich das was ich gesagt hab tatsächlich wahr.
Man hätte mich auch ohne vorübergehende sperre verwarnen können. Aber ok tue was du nicht lassen kannst, hier werde ich keine Hilfe mehr anfragen, da ich eh keine guten antworten bekomme bis auf den ersten Post war die Ausnahme. Aber hier bekomme ich keine Antwort. Ausser das jemand wie du mein Text Editiert und gleich mein Account für eine halbe Woche gesperrt hat. Das zeigt, das niemand helfen will und du auch nicht obwohl du oftmals mein Post gelesen haben musst. Ist echt Zeitverschwendung hier zu posten und wenn man fast eine halbe stunde braucht die richtigen codes reinzuposten mit beschreibung und was noch fehlt bzw fehlerhaft ist und erbittet um hilfe wird man hier ungespitzt in den Boden geramt mit einer Sperre. Nee danke ich bemühe mich hier nicht weiter.
Hey,
es tut mir leid, dass du dich durch sILeNt heLLsCrEAm angegriffen fühlst. Er hat jedoch lediglich nach unseren Forenregeln gehandelt. Kein grosses Thema (meiner Meinung nach).

Zu deinem Weiteren Post:
Das dir keiner helfen möchte ist sicherlich übertrieben. Wenn wir hier keinem helfen wollen würden, dann hätten wir wohl kaum diesen Bereich im Forum eingerichtet. Viel mehr ist es so, dass wir entweder nicht die Kompetenz haben dir zu helfen (ich z.B kenne mich mit VB.net gar nicht aus und weiß dementsprechend auch nicht was möglich ist und was nicht), oder wir irgendeinen anderen Grund hatten (keine Zeit, Post nur überlesen, Post vergessen, wie auch immer). Aber das niemand hier Hilfe bekommt ist falsch.

Zu deinem Problem: Du könntest einen neuen Thread starten, indem der besagte Code ausgeführt wird. Dann würde deine Main-Form nicht einfrieren. Ich hab auch nicht so richtig verstanden wo jetzt genau dein Problem liegt, aber vllt. hilft es dir.
Abschließend zu dem Ganzen kann ich nur sagen...

Das Du sauer bist über diese Entscheidung kann ich durchaus nachvollziehen. Was ich allerdings nicht nachvollziehen kann ist deine Art wie Du versucht deinen Standpunkt zu vertreten/verteidigen. Wir haben nicht ohne Grund diese Forenregeln erstellt.
Denn wenn wir mal ehrlich sind - Hättest Du die Forenregeln gelesen wüsstest Du das ich Recht habe. Und das hat rein garnichts damit zu tun das ich Moderator dieses Forums bin oder ob ich dich leiden kann oder nicht.
Und wenn ich ganz kleinlich wäre könnte ich mir, aufgrund des Zurückeditierens Deines letzten Beitrages, weitere Schritte vorbehalten.

Aber wie Du dich in deinem letzen Beitrag zu dieser Situation äußerst bestätigt eigentlich nur meine Meinung die ich über Dich habe. Aber gut es steht Dir natürlich frei Dich hier weiter in diesem Forum aufzuhalten.

Eins noch...
Wir haben hier in erster Linie ein Trainerforum. Ein Großteil derer die hier Hilfe suchen sind nunmal jene die auch diese Trainer nutzen oder nutzen wollen. Also heißt das in erster Linie nicht das wir Dir nicht helfen wollen oder können.
Eigentlich finde ich es eine Frechheit der Annahme zu sein das hier sofort jemand auf Deine Frage eine funktionierende Lösung haben muss.

Zu diesem Thema ist nun alles gesagt.

MFG
sILeNt heLLsCrEAm
Und ich finde es eine frechheit gleich jemand zu sperren ohne vorwarnung....
Darum hab ich auch so reagiert, weil sich auch alles bestätigt hat, was ich vermutet hab.

Nochmal weil du anscheinden den Satz nicht gelesen hast....
Selbst jetzt hat keiner geholfen auch nach meiner sperre also sind es nicht nur 24 Stunden.
Ich hab den Beitrag nicht editiert sondern gelöscht und ein komplett neues gemacht. Also falsch gedacht.
Ihr habt doch keine Ahnung am welchem Projekt ich arbeite und habt nicht mal gefragt warum es so dringend ist... stattdesen zeigt ihr hier das ihr nicht helfen wollt. Wie sich es grad bestätigt hat. Das Forum mag ja existieren, aber ich hab den eindruck das nur denen geholfen wird, wo sympathie im spiel ist und jemand der völlig fremd ist wie ich, wird natürlich am hacken hängen gelassen, so nach dem Motto sieh zu wie du dich selbst befreist.
So ich hoffe ihr beide habt nun verstanden, wie ich das meine. Ihr seht jetzt hoffentlich wie ich das mit helfen und nicht helfen gemeint habe.
Ich sage nichts wenn du die Forumregeln verteidigst, aber jemand gleich beim ersten mal sperren und dabei war es nicht mal schlimm sondern fand ich und böse hab ich es auch nicht gemeint ist schon ziemlich übertrieben. Nur weil ich PUSH PUSH geschrieben hab. Naja wie gesagt ihr versteht nicht an was für ein Projekt ich schreibe und ihr fragt ja nicht mal stattdesen kommt sperre.

@Acubra
Wenn du die absicht gehabt hast zu helfen, hättest du ja auch fragen können und sagen können, dass du es nicht genau verstehst was ich will.
Ich hab den Code bereits gezeigt und wollte nur das die Textbox während die exe in der console arbeitet zugleich auch auflistet was passiert und nicht erst nach dem es beendet wurde. Zum teil hab ich mein Ziel auch schon erreicht.
Wenn aber niemand antwortet, muss ich davon ausgehen es gibt leute die es nicht wissen oder nicht helfen wollen.
(21.12.2012, 18:25)Xiantrius schrieb: [ -> ]Ihr habt doch keine Ahnung am welchem Projekt ich arbeite und habt nicht mal gefragt warum es so dringend ist... stattdesen zeigt ihr hier das ihr nicht helfen wollt.

Na dann will ich mich auch mal zu Wort melden.
Ich wollt mich nicht einmischen, und soll ich ehrlich sein? Es ist mir egal an welchem Projekt du arbeitest. Und warum sollten wir/ich nachfragen warum das so wichtig ist?
Und nein wir zeigen hier nicht das wir nicht helfen wollen. Wenn einer helfen gekonnt hätte, hätte er dir eine Antwort gegeben.
Nicht falsch verstehen aber in diesem Punkt lehnst du dich weit aus dem Fenster.
Ich für meinen Teil code zwar in VB aber hatte die monate wenig Zeit, das ich die Beiträge nür Überflogen habe.

Zitat:Wie sich es grad bestätigt hat. Das Forum mag ja existieren, aber ich hab den eindruck das nur denen geholfen wird, wo sympathie im spiel ist und jemand der völlig fremd ist wie ich, wird natürlich am hacken hängen gelassen, so nach dem Motto sieh zu wie du dich selbst befreist.

Ich glaube eher du willst es nicht einsehen das dir keiner helfen konnte, oder eben wie ich deinen Beitrag einfach nicht wirklich wahr nahm, da ich zuviel stress hatte. PS: erspar dir den kommentar das dies eine ausrede ist.

Zitat:Nur weil ich PUSH PUSH geschrieben hab. Naja wie gesagt ihr versteht nicht an was für ein Projekt ich schreibe und ihr fragt ja nicht mal stattdesen kommt sperre.

Nur weil ja.....
Wir haben nun mal Regeln hier und wer sich nicht daran hält muss nun mal damit rechnen, das da gehandelt wird.

Zitat:Wenn aber niemand antwortet, muss ich davon ausgehen es gibt leute die es nicht wissen oder nicht helfen wollen.

Ja und bevor man unsinnige Posts abgibt das keiner Helfen will, solltest du deinen ersten teil durchlesen. Auch wir können nicht alles Wissen PUNKT

So das war mein Statment, schönes Willkommen heir :P Egal Feiertage rumbringen und dann....

Erstmal solltest du deinen Horrizont erweitern, denn
Zitat:Wenn aber niemand antwortet, muss ich davon ausgehen es gibt leute die es nicht wissen oder nicht helfen wollen.
oder die nicht können, die deinen Beitrag nur kurz überflogen habe, die keine
Zeit für dein Problem haben, die wichtigers zu tun haben ... da keiner von
uns hier im Forum auf eure Probleme wartet.

Zitat:Bitte testet auch euren code den ihr macht bevor ihr hier das reinpostet.
Du kannst nicht von uns verlangen, dass wir dir einen fertigen Code geben,
weder im Forum oder per PM ... es kommt besser rüber, wenn man nach
Tipps fragt, anstatt direkt nen fertigen code zu verlangen.

Des weiteren ist folgendes ein absolutes no go:
Zitat:Versucht doch mal selbst zu testen und nicht immer nur andere links zu geben die dann doch das asyncron machen das ich aber nicht will. Da könnte ich genauso gut mein Code verwenden funktioniert genauso und sogar besser wie der umständliche code der nicht mal das kann was ich wollte.
Da hat sich silent schon die Zeit genommen und etwas rausgesucht und
du kommst ihm mit so einem Spruch entgegen.
Ab dem Zeitpunkt hatte ich gar keine Lust mehr, dir zu helfen.

Mit dem folgendes Satz stellst du silent für blöd hin und es liest sich auch, als
ob du ihn angreifst.
Zitat:Ich sagte syncron nicht anders.

Ist zwar gut, dass du dich im nächsten Satz direkt für die Hilfe
bedankst und sagst, dass es nicht böse gemeint war, nur solltest
du die Dankbarkeit auch bei deiner vorherigen Wortwahl mit einfließen lassen,
dann liest sich dein Text angenehmer und andere Leute haben vielleicht auch Lust,
dir zu helfen Wink

Bildlich kann man sich das ganze so vorstellen:
Ich erfrage bei dir Hilfe und hau dir anschließend auf die Fresse und sage direkt danach: "Nicht böse gemeint"
Würdest du mir danach noch helfen wollen?

Nichts desto trotz lege ich dir an dieser Stelle mal den VB internen
Backgroundworker ans Herz.

Da das ganze hier zu sehr OffTopic wird, mach ich hier zu.