2014-12-11 11 views
10

Ich habe einen Code, der einen Prozess mit Process.Start(ProcessStartInfo) startet. Ich sehe in der Dokumentation, dass diese Methode null zurückgeben kann, wenn ein bestehender Prozess wiederverwendet wird.Wann kann Process.Start() null zurückgeben?

[Kosten a] neue Prozesskomponente, die mit dem Prozess Ressource zugeordnet ist, oder null, wenn kein Prozessressource gestartet wird (beispielsweise wenn eine bestehende Prozess wiederverwendet wird).

Was bedeutet es, dass ein bestehender Prozess wiederverwendet wird und unter welchen Umständen wird dies geschehen?

Antwort

10

Dies passiert, wenn Sie eine Datei (keine EXE) übergeben und die Datei mit DDE gestartet wird.

So öffnen beispielsweise Office-Anwendungen Dateien in vorhandenen Instanzen.

+0

Ich fragte mich, ob es etwas in diesen Zeilen war, also schrieb ich den folgenden Testcode: 'var processStartInfo = new ProcessStartInfo (@" C: \ test.doc "); var process1 = Prozess.Start (processStartInfo); var process2 = Prozess.Start (processStartInfo); ' process2 war nicht null, obwohl nur die eine Instanz des Dokuments in einer einzelnen Instanz von Word geöffnet wurde. Ist es plattform- oder versionsabhängig? – fractor

+0

Ich habe es gerade mit einer xlsx-Datei versucht. process2 war null. Vielen Dank. – fractor

Verwandte Themen