Зупиніть вікно драйвера принтера


0

Програму, яку я написав, використовують для надсилання етикеток на принтер для друку етикеток - точніше, до п'яти принтерів, кожен з яких встановлюється окремим драйвером. Пропускна здатність кожних трьох секунд для кожного принтера, так що багато вікон з'являються, які кажуть "Друк - Сторінка 1 документа" - іноді для всіх п'яти принтерів одночасно - і ми плануємо розширити програму на 10 принтерів . Чи є спосіб отримати драйвери, налаштовані так, щоб вони не показували це вікно? Програма та драйвери знаходяться на комп'ютері під керуванням Windows Server 2012 R2. Драйвер для принтерів Interx4 px4i, і я використовую System.Drawing.Printing під C # .NET 4.0.

http://i.stack.imgur.com/robgy.jpg


1
Можливо, ви захочете спробувати різні програми у вашій системі з іншим драйвером принтера, щоб дізнатися, чи це API, який ви використовуєте, щоб надіслати друк (на якій мові - який API? або якщо водій сам. Якщо це сам драйвер, метод, щоб водій не відображав спливаюче вікно, буде цілком специфічним для драйверів; Вам, можливо, доведеться вжити рішучих заходів, щоб придушити їх, як підключення DLL або щось інше. Інші водії можуть бути налаштовується і мати налаштування для вимкнення спливаючого вікна.
allquixotic

Для уточнення, драйвер для принтерів Interx4 px4i, і я використовую System.Drawing.Printing під C # .NET 4.0.
Nerdrage87

Чому ви видалили зображення з повідомлення після того, як я поставив його для вас?
Kazark

Це дало мені повідомлення, коли я його редагував, що мені потрібно щонайменше 10 репутаційних очок для розміщення зображень.
Nerdrage87

Відповіді:


0

Як виявилося, саме цей контролер друку за промовчанням викликає появу вікна. System.Drawing.Printing надає всім новим PrintDocuments контролер друку за промовчанням. Під час налаштування сторінки для друку моя програма виконує такі операції:

    PrintDocument pd = new PrintDocument();
    pd.PrinterSettings.PrinterName = PrinterName;
    ...

Що я зробив для вирішення цієї проблеми, це дати новий контролер друку за допомогою конструктора за замовчуванням:

    pd.PrintController = new StandardPrintController();

Зараз не з'являються вікна "Друк ...", і це також помітно збільшило продуктивність моєї програми. Я сподіваюся, що це допоможе будь-кому іншому з цією проблемою, але він, ймовірно, повинен бути переміщений в StackOverflow, оскільки це проблема програмування, а не проблема з вікнами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.