Подтвердить что ты не робот

Использование USB-принтера с С#, с драйверами и API или без него

Я не совсем эксперт на С#, я сделал некоторые неудобные вещи, такие как рояль для музыкальной программы (так что создание WPF-холста с математикой и т.д.) и некоторые простые программы для выполнения общих задач, таких как разработка некоторых данных по (математические операции, взаимодействие с графическим интерфейсом и т.д.

Мне нужен общий обзор того, как я могу обнаружить USB-принтер на своем собственном компьютере и работать с ним. Я уже искал это здесь и в Google, и вот что я нашел:

Ссылка 1

Ссылка 2

Ссылка 3

Ссылка 4

Ссылка 5

Ссылка 6

И другие подобные ссылки, рассказывающие разные методы, о которых я почти ничего не понял: (

Хорошо, вот что я придумал (постараюсь как можно короче):

A) Для использования принтера без драйверов (это определение может быть неточным, но я немного смущен...)

Мне нужно:

1) Найдите способ обнаружения дверей USB и какое устройство подключено к ним через идентификатор продукта и идентификатор поставщика. В частном случае Developerfusionarticle authore объясняет некоторые основы USB и говорит вам использовать устройство интерфейса пользователя для его обнаружения. (Я использую Windows 7, и я не могу найти HID, просто другие случайные диски usb, и у меня нет NO IDEA AT ALL на том, как с ними взаимодействовать)

2) Создавайте потоки данных и отправляйте их на принтер USB (или любое устройство, которое вы собираетесь использовать) вместе с командами в правильных сообщениях.

B) Чтобы использовать принтер с драйверами или API окон или предварительно обработанные драйверы:

Мне нужно:

1) Используйте все классы .NET, найденные в [MSDN System.printing libraries] [Ссылка № 6], и пилот непосредственно с принтера (после нахождения устройства с использованием библиотек System.printing) с использованием правильные методы из этих классов...

Хорошо, делая точку:

У меня действительно нет ИДЕИ, на которой правильные шаги, и то, что я пытаюсь вас спросить:

Шаг за шагом, как это сделать, прежде всего первый (как я увидел на форуме форума MSDN, второй вопрос - вопрос изучения кода). Я не хочу, чтобы вы написали код для меня (хотя можете, если хотите). Я прошу только общее руководство, на котором правильные шаги для достижения конечного результата. Почтовые ссылки, независимо от того, что работает...

4b9b3361

Ответ 1

Этот ответ для опции A

Очень сложная проблема. Доступ к низкоуровневому оборудованию с такого высокоуровневого языка программирования очень сложный. Я использовал это, используя Assembly, который может дать вам очень низкий уровень управления. Единственное, о чем я могу думать, это libusb, который также имеет хорошие обертки для С#. Он обеспечивает прямой доступ к USB-устройствам, например принтерам. Хороший запуск С# будет управлять более простыми USB-устройствами, чтобы повесить его. Убедитесь, что вы знаете, как ваш принтер интерпретирует данные, записанные с USB-порта.

привязки С#