Wie fordere ich einen laufenden Prozess, um eine Datei zu öffnen?

8

Ich weiß, wie man eine Datei in einem neuen Prozess in C # startet (zB öffne eine .doc-Datei in einem neuen Word-Prozessfenster).

Aber wie öffne ich eine Datei in einem "laufenden" Prozess? Zum Beispiel habe ich bereits einen laufenden Word-Prozess, wie man es fordert, um eine Datei von einem C # -Programm zu öffnen?

Ich habe das Internet durchsucht und habe keine Ahnung. : (

    
Phanix 13.04.2011, 09:05
quelle

4 Antworten

5

Mit GetActiveObject Methode von Marshal Klasse.

%Vor%

Alles andere ist wie beim Erstellen einer neuen Wortinstanz.

BEARBEITEN:

Word.Application ist Teil von " Microsoft.Office.Interop.Word.dll "Sie müssen dies also hinzufügen Verweis auf Ihr Projekt.

Wenn Sie keine Early-Bindung verwenden möchten (um eine Referenz hinzuzufügen), können Sie dies über Late Binding tun. Sie können sich diese Beispiele ansehen: Bindung für Office-Automatisierungsserver mit Visual C # .NET

    
HABJAN 13.04.2011 09:11
quelle
3

Es gibt keine generische Technik, die das für Sie tun kann. In einigen Anwendungen können Sie möglicherweise einen zusätzlichen Parameter über die Befehlszeile angeben oder eine Option festlegen.

Wenn Sie diese Funktionalität für eine bestimmte Anwendung benötigen, sollten Sie nach einer API für diese Anwendung suchen. Word selbst hat einen Managed-Wrapper um seine COM-API.

    
Jonas Van der Aa 13.04.2011 09:21
quelle
0

ShellExecute-Entsprechung in .NET

ShellExecute ist was Sie wollen.

ShellExecute ist die Win32-API, die das gewünschte Verhalten aufweist. Es ist nur hinter ProcessStartInfo.UseShellExecute für .NET versteckt.

Oder außerhalb SO:

Ссылка

    
sehe 13.04.2011 09:25
quelle
0

Wenn Sie Process.Start ("meindoc.doc") verwenden, wird ein vorhandener Word-Prozess wiederverwendet. Laut MSDN :

  

Wenn der Prozess bereits läuft, wird kein zusätzlicher Prozess gestartet. Stattdessen wird die vorhandene Prozessressource wiederverwendet und keine neue Prozesskomponente erstellt.

    
mcanti 27.07.2011 10:32
quelle

Tags und Links