Friday 12 May 2017

Prozess Waitforexit C #


Lassen Sie uns lesen, was MSDN darüber sagt: Die WaitForExit () () () - Überlastung wird verwendet, um den aktuellen Thread zu warten, bis der zugehörige Prozess beendet wird. Diese Methode weist die Prozesskomponente an, eine unbegrenzte Zeitspanne zu warten, bis der Prozess beendet wird. Dies kann dazu führen, dass eine Anwendung nicht mehr reagiert. Wenn Sie zum Beispiel CloseMainWindow für einen Prozess aufrufen, der über eine Benutzeroberfläche verfügt, wird die Anforderung des Betriebssystems, den zugeordneten Prozess zu beenden, möglicherweise nicht bearbeitet, wenn der Prozess geschrieben wird, um niemals in seine Nachrichtenschleife zu gelangen. Diese Überlastung stellt sicher, dass alle Verarbeitung abgeschlossen ist, einschließlich der Behandlung von asynchronen Ereignissen für umgeleitete Standardausgabe. Sie sollten diese Überladung nach einem Aufruf der WaitForExit (Int32) - Uberlast verwenden, wenn die Standardausgabe zu asynchronen Ereignisbehandlungsroutinen umgeleitet wurde. Das ist natürlich für. Was macht Sie denken, dass es nicht warten, bis die Note-Prozess zu beenden Was sind die Zeichen dafür, was ist der Beweis Freitag, 20. Februar 2009 20.13 Nicht sicher, ob dies geändert hat, aber vor kurzem wieder in den Tag Anwendungen auf dem Fenster Handy nie wirklich geschlossen, wenn Sie die X schließe sie zu schließen, würden sie nur minimieren und halten im Hintergrund laufen (dies war kein Fehler, es war ein Feature, seit dem nächsten Mal starten Sie die App würde es wirklich schnell gestartet werden, yah Ich weiß, wahnsinnig, aber wahr), so könnte das sein, warum WaitForExit ist vielleicht seltsam verhalten und warten auf App-Start anstelle von Exit. Aber dann wieder ist es nur Spekulation auf knowlegde der alten Versionen von Windows Mobile basiert. Freitag, den 20. Februar 2009 um 11:03 Uhr Id wie zu stoßen diese Frage auf. Im auf Windows Mobile 6 Standard und Im versuchen, eine Browser-Instanz spawn. Id wie zu warten, bis der Benutzer den Browser schließt. Aber WaitForExit kommt extrem schnell zurück. Hier ist der Code: Process p new Process () p. StartInfo. Argumente quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute false p. StartInfo. FileName quotIExplore. exequot p. Start () p. WaitForExit () MessageBox. Show ("Now der Browser sollte closedquot sein) Was sollte der richtige Weg, um die erwarteten Resuts erhalten werden, wenn das Symbol ist. Symbol. AlexB Tuesday, June 9, 2009 9:58 PM Ich sehe das gleiche Problem, aber auf XP. Ich denke, der Beweis kann in jedem Debugger gesehen werden (wie ich sehe), oder in jeder Konsolenanwendung (nicht unbedingt auf Mobile) Mittwoch, 2. September 2009 08.35 Uhr Außer, dass Sie nicht erhalten dann ein Prozess-Objekt, das Sie können benutzen. MyProc. WaitForExit () Es wird immer noch sofort zurückgegeben, wenn Sie versuchen, Dim myProc als neuen Prozess () myProc Process. Start (quotiexplorequot, quotfinance. yahooqhpsquot Symbol) Mittwoch, 2. September 2009 20:48 Problem ist, dass Sie keine neue Instanz von iexplore. exe starten. Sie erstellen nur ein neues Fenster zum bestehenden Prozess. Meine Vermutung ist iexplore. exe startet, sieht eine vorherige Instanz und kommuniziert mit der vorherigen Instanz, so dass es öffnet sich das neue Fenster, und dann diese Instanz Sie begann sofort beendet. So ist das Verhalten richtig und zu erwarten. Blog. voidnish Mittwoch, den 2. September 2009 um 20:52 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 teilnehmenWaitForExit () ist eine Thread-Blocking-Methode Dies ist genau die Ursache des Problems. Wenn WaitForExit aus dem Forms-Thread aufgerufen wird, wird verhindert, dass das Formular neu gezeichnet wird. Das Ziehen von etwas vor einem blockierten Fenster hinterlässt eine Spur des gezogenen Fensters. Vorgeschlagen als Antwort von ahmedilyas Moderator Donnerstag, 28. Juli 2011 10:34 Als Antwort markiert von Jackie-Sun Moderator Code would be better and it Wäre auch besser, wenn Sie uns genau sagen können, was Sie zu erreichen versuchen. Die WaitForExit () wartet einfach (blockiert den Code für diese Dauer), damit ein Prozess beendet wird, bevor Sie mit dem Ausführen des aufrufenden Codes fortfahren. C MVP (2007-2010) MS Vendor - MS Alle Wege Follower seit 1995 MS Super Evangelist MSDN Foren Moderator Als Antwort vorgeschlagen von ahmedilyas Moderator Als Antwort markiert von Jackie-Sun Moderator Montag, August 08, 2011 6:50 AM Donnerstag, 28. Juli 2011 um 09:57 Uhr Alle Antworten Ich denke, das hat keine Beziehung mit waitforexit Funktion. Die Sie ziehen. Erste Exe-Form oder zweite Exe-Form. Ein kleiner Code wird geschätzt, markieren Sie meinen Beitrag als Antwort, wenn mein Beitrag nützlich für Sie war, wäre es besser, und es wäre auch besser, wenn Sie uns sagen können, was Sie gerade erreichen wollen . Die WaitForExit () wartet einfach (blockiert den Code für diese Dauer), damit ein Prozess beendet wird, bevor Sie mit dem Ausführen des aufrufenden Codes fortfahren. C MVP (2007-2010) MS Vendor - MS Alle Wege Follower seit 1995 MS Super Evangelist MSDN Foren Moderator Als Antwort vorgeschlagen von ahmedilyas Moderator Als Antwort markiert von Jackie-Sun Moderator Montag, August 08, 2011 6:50 AM Ich hatte checked. it hat Problem auf waitforexit () nur. i bemerkt, dass Problem, wenn verschieben zweite Exe-Formular Editiert von RAJ KUMAR. R Donnerstag, Juli 28, 2011 10:09 AM Hallo ihr alle, ich habe eine Antwort auf die Frage, was ich tun soll Um einen Vorgang zu beenden, bevor er mit dem Code fortfährt. Wird es nicht machen Ihr Formular zu verstecken oder zu minimieren, es sei denn, Sie sagen, Ihren Code, dies zu tun, bevor Sie WaitForExit () C MVP (2007-2010) MS Vendor - MS Alle Weg Follower seit 1995 MS Super Evangelist MSDN Foren Moderator Donnerstag, July 28, 2011 10:05 AM Alles ist funktionieren fine. but, wenn ich das Formular zu bewegen, zeigt es mehrere Form. Donnerstag, 28. Juli 2011 10:09 WaitForExit () ist eine Thread-Blocking-Methode Dies ist genau die Ursache des Problems. Wenn WaitForExit aus dem Forms-Thread aufgerufen wird, wird verhindert, dass das Formular neu gezeichnet wird. Das Ziehen von etwas vor einem blockierten Fenster hinterlässt eine Spur des gezogenen Fensters. Vorgeschlagen als Antwort von ahmedilyas Moderator Donnerstag, 28. Juli 2011 10:34 Als Antwort markiert von Jackie-Sun Moderator am Montag, den 28. August 2011 um 10:18 Uhr When you say showing multiple forms - reden Sie über mehrere Instanzen der Formulare oder nur die Drawrendering, wenn es die Drawrendering dann ja, wie bereits erwähnt - es ist, weil es für den Prozess zu beenden, bevor es fortsetzt warten und ist Thread-Blocking, so dass Sie sehen das quotproblemquot Sie Scheinen zu beschreiben. Es gibt keine quotfixquot für diese, da es nicht ein Fehler oder ein Problem, sondern nur, was Sie verwenden und wie Sie es verwenden. Gibt es einen Grund, warum Sie WaitForExit () verwenden. Müssen Sie Ihr Formular zeigen, wenn Sie WaitForExit () verwenden, warum Sie nicht das Formular verstecken oder minimieren, bevor Sie WaitForExit () aufrufen und dann es nachher wiederherstellen C MVP (2007-2010) MS Vendor - MS Alle Weg Follower seit 1995 MS 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 teilnehmen Helfen Sie uns, MSDN zu verbessern. Besuchen Sie unsere UserVoice-Seite, um auf Ideen Dev Centers Lernressourcen vorzulegen und abzustimmen

No comments:

Post a Comment