orgilhp Ответов: 1

Как получить уведомление при печати на USB-принтере


Теперь я использую код ниже. Но этот код уведомляет меня только тогда, когда я подключаю или отключаю USB-принтер. Но мне нужно получать уведомления, когда печать происходит на USB-принтере. Я использую c# и. netfx4.5.

Пожалуйста, помогите мне, любое предложение будет высоко оценено!

С Уважением, Джаргалант.Д

Что я уже пробовал:

<pre>using LibUsbDotNet.DeviceNotify;
//...
public static IDeviceNotifier UsbDeviceNotifier = DeviceNotifier.OpenDeviceNotifier();

    private static void Main(string[] args)
    {
        // Hook the device notifier event
        UsbDeviceNotifier.OnDeviceNotify += OnDeviceNotifyEvent;

        // Exit on and key pressed.
        Console.Clear();            
        Console.WriteLine();
        Console.WriteLine("Waiting for system level device events..");
        Console.Write("[Press any key to exit]");

        while (!Console.KeyAvailable)
            Application.DoEvents();

        UsbDeviceNotifier.Enabled = false;  // Disable the device notifier

        // Unhook the device notifier event
        UsbDeviceNotifier.OnDeviceNotify -= OnDeviceNotifyEvent;
    }

    private static void OnDeviceNotifyEvent(object sender, DeviceNotifyEventArgs e)
    {
        // A Device system-level event has occured

        Console.SetCursorPosition(0,Console.CursorTop);

        Console.WriteLine(e.ToString()); // Dump the event info to output.

        Console.WriteLine();
        Console.Write("[Press any key to exit]");
    }

1 Ответов

Рейтинг:
0

Jochen Arndt

Вы должны следить за заданиями печати Windows и проверять, является ли ваш USB-принтер устройством вывода.

Некоторые ссылки, которые могут быть полезны:
Мониторинг заданий в очереди принтера (.NET)[^]
Простой подход к управлению заданиями печати с помощью WMI[^]