2009-04-15 8 views
5

Ich verwende den folgenden Code, um ein Worddokument aus einer C# -App zu drucken.Verwenden von Process.Start zum Drucken von Dokumenten ohne Word

  ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath); 
      info.Verb = "Print"; 
      info.CreateNoWindow = true; 
      info.WindowStyle = ProcessWindowStyle.Hidden; 
      Process.Start(info); 

Dies funktioniert gut Word öffnet und druckt das Dokument und schließt sich dann selbst. Das Problem besteht darin, dass Word trotz CreateNoWindow = true und WindowsStyle = Hidden sichtbar geöffnet wird. Ich hätte erwartet, dass diese beiden Einstellungen bedeuten, dass Word leise geöffnet wurde.

EDIT: Bitte nicht Word-Objektmodell Automatisierung vorschlagen - Ich habe viele verschiedene Dokumenttypen, die gedruckt werden müssen (PDF usw.) - es ist nur Word-Dokumente, die das Problem im Moment verursachen.

Irgendwelche Gedanken?

TIA

Matt

+0

Was meinen Sie mit Word Objektmodell Automatisierung? Meinst du Microsoft.Interop.Word? –

+1

@ Jon: Word-Automatisierung erfordert nicht unbedingt die Verwendung von Microsoft.Interop.Word. Es ist nur eine Möglichkeit neben der Verwendung von VBA oder COM. Eigentlich ist Microsoft.Interop.Word nichts anderes als ein Wrapper für die COM-Schnittstellen, und tatsächlich ist es für die Automatisierung von .NET-Sprachen nicht erforderlich. –

+0

+1 divo. Ich erinnere mich an frühere Zeiten, als wir von COM Interop träumten. DDE war so gut wie es ging :-) – Matt

Antwort

6

Wort ist frei zu ignorieren (und anscheinend tut ignorieren) Ihr Antrag, dass sie verborgen bleiben.

Siehe auch Why is my hidden process still visible?

+0

Ja, das stimmt. Aus diesem Grund gibt es bei COM-Automatisierung keine Lösung, wenn Sie möchten, dass Ihre App nicht sichtbar ist. –

+0

Das ist ein Schmerz - hatte gehofft, Zwischenfälle zu vermeiden. Naja...:-) – Matt

Verwandte Themen