2009-04-15 12 views
5

Tôi đang sử dụng mã sau để in tài liệu từ một ứng dụng C#.Sử dụng Quy trình.Bắt đầu để in tài liệu mà không hiển thị Word

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

Từ hoạt động tốt này sẽ mở và in tài liệu, sau đó đóng chính nó xuống. Vấn đề là Word mở ra rõ ràng, mặc dù CreateNoWindow = true, và WindowsStyle = Hidden. Tôi đã mong đợi hai thiết lập này có nghĩa là Lời đã mở ra một cách lặng lẽ.

EDIT: Vui lòng không đề xuất tự động hóa mô hình đối tượng Word - Tôi có nhiều loại tài liệu khác nhau cần được in (PDF, v.v.) - đó chỉ là tài liệu Word đang gây ra sự cố tại thời điểm này.

Mọi suy nghĩ?

TIA

Matt

+0

Bạn có ý nghĩa gì khi tự động hóa mô hình đối tượng Word? Bạn có nghĩa là Microsoft.Interop.Word? –

+1

@Jon: Tự động hóa từ không nhất thiết yêu cầu sử dụng Microsoft.Interop.Word. Nó chỉ là một cách bên cạnh việc sử dụng VBA hoặc COM. Trên thực tế, Microsoft.Interop.Word không là gì ngoài một trình bao bọc cho các giao diện COM, và trên thực tế nó không cần thiết cho tự động hóa từ các ngôn ngữ .NET. –

+0

+1 divo. Tôi nhớ, trở lại trong những ngày cũ, khi chúng tôi sử dụng để ước mơ của COM interop. DDE là tốt như nó đã nhận :-) – Matt

Trả lời

6

Lời là miễn phí để bỏ qua (và dường như không bỏ qua) yêu cầu của bạn mà nó vẫn còn tiềm ẩn.

Xem thêm Why is my hidden process still visible?

+0

Vâng, đó là sự thật. Và đó là lý do tại sao không có cách nào xung quanh tự động hóa COM nếu bạn muốn ứng dụng của mình không hiển thị. –

+0

Đó là một nỗi đau - đã hy vọng tránh được những cuộc tranh cãi. Oh well ... :-) – Matt