2012-11-09 19 views
5

Tworzę usługę, która będzie monitorować określony folder i wydrukować dowolny plik umieszczony w tym folderze. Mam problemy z różnymi typami plików, które można przesłać do folderu, który ma zostać wydrukowany.Drukowanie dowolnego typu pliku

Moja pierwsza próba dotyczy plików Microsoft Office. Próbuję uruchomić biuro, aby wydrukować plik. To bardziej jak haczyk, właściwie nie używam biblioteki ani niczego podobnego.

Do tej pory to podejście działałoby, ale kiedy żadna aplikacja Office nie uruchomiła się nigdy na komputerze, Urząd prosi o inicjały użytkownika. Tak więc w tym przypadku moja aplikacja po prostu nie działałaby, ponieważ robię to programowo.

Teraz próbuję z plikami Microsoft Office, ale zastosuję to samo podejście w przypadku innych typów.

Czy jest tak, aby ominąć inicjały wymagane przez pierwsze uruchomienie pakietu Office?

Lub lepszego podejścia do mojego problemu?

Każda pomoc jest doceniana, z góry dzięki.

+0

Może pomóc. Jest to kod VB, ale może pomóc w znalezieniu sposobu na uniknięcie lub zamknięcie okien dialogowych z aplikacji pakietu Office: http://support.microsoft.com/kb/259971 –

Odpowiedz

1

Nic tak naprawdę nie można zrobić; dla aplikacji, która wydrukuje każdy typ pliku, który zamierzasz obsługiwać, musisz upewnić się, że aplikacja jest poprawnie skonfigurowana.

Oznacza to, że w przypadku pakietu Office (ponieważ jest on uruchamiany jako serwer COM poza procesem), należy go uruchomić pod kontem, które wykonuje drukowanie, aby można było wprowadzić inicjały i nie zostanie wyświetlony monit o to. kiedy serwer spróbuje go wydrukować.

To samo dla każdej innej aplikacji (zakładając, że aplikacja zostanie uruchomiona w celu jej wydrukowania), musi być uruchomione jako konto, na którym proces zostanie uruchomiony i poprawnie skonfigurowany.

0

Użyj monitora aktywności Regmon rejestru firmy Winternals, aby dowiedzieć się, gdzie Office przechowuje inicjały w rejestrze systemu Windows, a następnie zapisz te klucze przed drukowaniem.

+0

Podczas gdy pomaga to problem z biurem, nie pomaga w żadnej innej aplikacji która może mieć jednorazową inicjalizację po uruchomieniu aplikacji. Rozwiązuje tylko * bardzo * małą część rzeczywistego problemu. – casperOne

Powiązane problemy