ich diese Codes ausgeführt wird:WaitForExit nicht funktioniert, wenn die Anwendung bereits
Process MSWprocess = new Process();
if (CommandToMSWord[1][1] == "Edit")
{
MSWprocess = Process.Start(PatientLetterDocx);
}
MSWprocess.WaitForExit();
if (CommandToMSWord[2][1].ToUpper() == "FALSE" && MSWprocess.HasExited)
{
File.Delete(PatientLetterDocx);
}
Worin MSWprocess
würde ein MS Word-Dokument eröffnen und wenn der Benutzer automatisch will diese an der Ausfahrt sparen, sollte CommandToMSWord[2][1].ToUpper()
sein TRUE, Andernfalls wird das Dokument beim Schließen des MS Word-Dokuments gelöscht.
Wenn ich das Programm zum ersten Mal ausführe, wartet es, bis das MS Word geschlossen wird. Wenn ich eine andere Instanz desselben Programms ausführe, während die erste Instanz noch läuft (immer noch darauf wartend, dass das MS-Wort geschlossen wird), interessiert sich die zweite Instanz nicht mehr für die WaitForExit()
und verursacht einen Laufzeitfehler, weil das Programm ist Löschen einer Datei, die noch geöffnet ist.
Wie ich es mag ist, dass selbst wenn das Programm mehrere Male gleichzeitig ausgeführt wird, sollte die WaitForExit()
wirklich ihren Teil jedes Mal tun.
Haben Sie irgendwelche Ideen, warum dies nicht gleichzeitig für mehrere Instanzen funktioniert?
Vielen Dank im Voraus.
Ich habe meinen angegebenen Code bearbeitet und so habe ich ihn in meiner Quelle, daher konnte ich Ihre Antwort nicht verwenden. – spn