Wednesday 25 October 2017

Redirectstandarderror Waitforexit C #


Ihre Lösung braucht nicht AutoResetEvent aber Sie poll. Wenn Sie die Umfrage statt der Verwendung von Event (wenn sie verfügbar sind), dann sind Sie mit CPU ohne Grund und dass zeigen, dass Sie ein schlechter Programmierer sind. Ihre Lösung ist wirklich schlecht, wenn die anderen mit AutoResetEvent verglichen werden. (Aber ich habe dir nicht gegeben -1, weil du versucht hast zu helfen). Ndash Eric Ouellet 7. November um 18:38 Ich hatte das gleiche Problem, aber der Grund war anders. Es würde jedoch unter Windows 8, aber nicht unter Windows 7 auftreten. Die folgende Zeile scheint das Problem verursacht haben. Die Lösung war NICHT deaktivieren UseShellExecute. Ich erhielt nun ein Shell-Popup-Fenster, das unerwünscht ist, aber viel besser als das Programm wartet auf nichts Besonderes passieren. So fügte ich die folgende Arbeit-um für das hinzu: Jetzt das einzige, das mich stört, ist, warum dieses geschieht unter Windows 8 an erster Stelle. Beantwortet Jan 13 15 am 10:35 Anwendungsbeispiel ImplementationSo Im Aufbau einer Spiel-Bibliothek, irgendwie wie Dampf, sondern für meine Nicht-Dampf-Spiele. Ich habe es eingerichtet, um das Spiel Thumbnail, Titel und eine Schaltfläche zum Starten des Spiels anzuzeigen. Bisher hat alles gut funktioniert, aber ein Spiel, Assault Cube, Im habe Probleme mit dem Starten. Assault Cube muss aus einer. bat-Datei gestartet werden, alle anderen sind. exe oder ein Browser-Spiele. Ich habe versucht ein paar verschiedene Ansätze für dieses Problem und jeder kam leer, ich bekomme das Spiel zu starten, dann eine Fenster-Aufforderung kommt und sagt, einige Ordner könnte nicht laden und ich sollte das Spiel aus dem übergeordneten Ordner starten (die ich bin) oder Eine cmd Aufforderung kommt und tut nichts. Aber wenn ich doppelklicken Sie die. BAT-Datei das Spiel lädt gut. Jede mögliche Hilfe wird viel geschätzt. Der Pfad enthält Platz und Sie müssen den Pfad in doppelte Anführungszeichen wie unten eingeben: Jeder Narr kann es wissen. (Albert Einstein) Herausgegeben von Ehsan Mohammadi Donnerstag, 18. April 2013 11:06 Als Antwort markiert von Dummy yoyo Moderator Dienstag, 23. April 2013 06:12 Donnerstag, 18. April 2013 10:59 Uhr PM Alle Antworten Öffnen Sie die Eingabeaufforderung und geben Sie cmd / ein, um zu sehen, welche Argumente bereitgestellt werden. Der folgende Code zeigt Ihnen, wie Sie und BAT-Datei in der Eingabeaufforderung ausführen, ohne das Eingabeaufforderungsfenster für die Verwendung angezeigt werden, und lesen Sie das ouput und Fehler der Eingabeaufforderung. Jeder Narr kann es wissen. (Albert Einstein) Donnerstag, April 18, 2013 8:49 PM Dies ist, was ich in meinem Code jetzt habe, verbrachte ich einige gute Zeit Durcheinander mit ihm, aber ich kann immer noch nicht bekommen, es zu arbeiten. In Ihrem Code haben Sie nicht ein process. start (), die meine erste Ahnung war, warum es nicht funktioniert, dann begann ich mit der Pfad-Datei auf die. BAT-Chaos, aber immer noch es didnt Arbeit. Im noch neu bei C, ich entschuldige mich für nicht fangen sofort. Wenn Sie auf die process. start () und den Pfad zu der BAT-Datei klären konnten, dass awesome. Donnerstag, 18. April 2013 10:46 Das Problem taucht im BAT-Dateipfad auf Der Pfad enthält Leerzeichen und Sie müssen den Pfad in doppelte Anführungszeichen wie unten eingeben: Jeder Narr kann es wissen. (Albert Einstein) Herausgegeben von Ehsan Mohammadi Donnerstag, 18. April 2013 11:06 Als Antwort markiert von Dummy yoyo Moderator Dienstag, 23. April 2013 06:12 Donnerstag, 18. April 2013 10:59 Uhr PM Wenn Sie das CSConsole-Programm auf meinem SkyDrive verwenden, um Ihre Batchdatei zu starten, sollten Sie in der Lage sein, Ihr Problem zu beheben. Donnerstag, 18. April 2013 23:00 Eine kleine Sache, die später relevant werden könnte: Wenn Sie eine Batchdatei (als Admin) hochheben, wird ihr Arbeitsverzeichnis zurückgesetzt. Das führt dazu, dass Probleme mit jedem herkömmlichen relativen Pfad, aber zum Glück gibt es einen Weg um: Freitag, 09. Oktober 2015 9.14 Uhr Microsoft führt eine Online-Umfrage durch, um Ihre Meinung über die Msdn-Website zu verstehen. Wenn Sie sich für die Teilnahme entscheiden, wird Ihnen die Online-Umfrage präsentiert, wenn Sie die Msdn-Website verlassen. Möchten Sie teilnehmenC ProcessStart - Wie automatisch die Taste Y drücken Letzte Änderung: 2012-05-11 Hallo. Ich benutze ProcessStart, um automatisch einen externen Prozess auszuführen. Ich muss die Taste Y nach etwa einer Sekunde drücken, um den Vorgang fortzusetzen. Der Prozess läuft in DOS und ich muss eine Nachricht annehmen. Wie kann ich die Taste Y automatisch drücken hier ist mein vorhandener Code. Dank Process psi new Process (quotpgp. exequot) psi. WorkingDirectory quotC: quot psi. RedirectStandardInput wahr psi. RedirectStandardOutpu t wahr psi. RedirectStandardError wahr psi. Arguments quot - e test. txt public. asc myemail Kraft quot System. Diagnostics. Process proc System. Diagnostics. Process. Start (ps i) System. IO. StreamReader-Ausgabe proc. StandardOutput // Einfügen für Schreiben System. IO. StreamWriter sIn proc. StandardInput // Jede Zeile der Batch-Datei in die Standard-Eingabe schreiben, während ( output. Peek () -1) /// Notwendigkeit, die Enter-Taste zu drücken, nachdem die Nachricht in DOS-Fenster Process psi new Process (quotpgp. exequot) psi. WorkingDirectory ConfigurationSettings. AppS ettingsquotU pLoadLocat ionquot psi. UseShellExecute falsch psi. RedirectStandardInput wahr psi. RedirectStandardOutpu t wahr psi. RedirectStandardError wahr psi. Arguments quot - e quot ZipFile quot meinschlüssel. asc myemail Kraft quot System. Diagnostics. Process proc System. Diagnostics. Process. Start (ps i) String procOutput new Stringbuilder () // lesen processs ausgegeben, bis wir die // quotAre sehen surequot Sie auffordern, und dann ein quotYquot senden, während (proc. StandardOutput. EndO fstream) auf 1024 Zeichen in das char-Array // Lesen Sie up quotbufferquot char buffer neue char1024 proc. StandardOutput. Read (b Uffer , 0, buffer. Length) // die Zeichen anhängen wir zum procOutput String procOutput. Append nur lesen (Puffer) // prüfen, ob procOutput mit quotAre endet Sie sicher (J / N) quot if (procOutput. ToString (). Con enthält (zit (y / N) quot)) // Wenn ja quotYquot senden und diese Schleife proc. StandardInput. WriteLi ne Ausfahrt (quotYquot) proc. StandardInput. WriteLi ne () proc. StandardInput. Flush () Pause // Jetzt, Weve gesendet die Bestätigung quotYquot warten, bis der Prozess zu beenden proc. WaitForExit ()

No comments:

Post a Comment