2012-11-09 30 views
5

Tôi đang tạo một dịch vụ sẽ giám sát một thư mục cụ thể và in bất kỳ tệp nào được đặt trong thư mục này. Tôi gặp khó khăn với các loại tệp khác nhau có thể được gửi tới thư mục được in.In bất kỳ loại tệp nào

Lần thử đầu tiên của tôi là với các tệp Microsoft Office. Những gì tôi đang cố gắng làm là bắt đầu văn phòng để in tệp. Nó giống như một cái bẫy, tôi không thực sự sử dụng một thư viện hay bất cứ thứ gì giống như nó.

Cho đến nay phương pháp này sẽ hoạt động, nhưng khi không có ứng dụng Office nào đã bắt đầu trên máy, Office yêu cầu người dùng tắt. Vì vậy, trong trường hợp này ứng dụng của tôi sẽ không hoạt động, vì tôi đang làm điều này theo chương trình.

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

Hiện tại tôi đang thử với các tệp Microsoft Office, nhưng tôi cũng sẽ áp dụng phương pháp tương tự cho các loại khác.

Có cách nào để nhận được xung quanh Tắt bắt buộc bởi lần chạy Office đầu tiên?

Hoặc cách tiếp cận nào tốt hơn cho vấn đề của tôi?

Bất kỳ trợ giúp nào được đánh giá cao, cảm ơn trước.

+0

Có thể trợ giúp. Đó là mã VB nhưng có thể giúp tìm ra cách để tránh hoặc đóng hộp thoại từ ứng dụng Office: http://support.microsoft.com/kb/259971 –

Trả lời

1

Không thực sự bất kỳ điều gì bạn có thể làm; cho ứng dụng sẽ in từng loại tệp mà bạn sẽ hỗ trợ, bạn cần đảm bảo ứng dụng được định cấu hình chính xác.

Điều này có nghĩa là đối với văn phòng (vì nó được chạy như máy chủ COM ngoài quy trình), bạn nên chạy nó trong tài khoản đang thực hiện in để bạn có thể nhập tên viết tắt và sẽ không được nhắc khi máy chủ cố in nó.

Giống nhau cho mọi ứng dụng khác (giả sử ứng dụng được thực hiện để in nó), nó cần phải được chạy như tài khoản quá trình sẽ được chạy dưới và cấu hình đúng.

0

Sử dụng màn hình hoạt động đăng ký regmon của Winternals để tìm ra nơi Office lưu trữ các chữ cái đầu trong cửa sổ đăng ký, sau đó viết các phím này trước khi in.

+0

Mặc dù điều này giúp giải quyết vấn đề với văn phòng nhưng nó không giúp ích gì với bất kỳ ứng dụng nào khác có thể có khởi chạy một lần được thực hiện khi ứng dụng chạy lần đầu tiên. Nó chỉ giải quyết một phần * rất nhỏ của vấn đề thực tế. – casperOne

Các vấn đề liên quan