С Новым годом! Форум программистов, компьютерный форум, киберфорум
.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
1

Библиотека для работы с USB

19.07.2017, 11:59. Показов 4267. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет форум)
Скажите пожалуйста нужно работать с устройством через юсб, Нужна библиотека для которая не требует установки драйверов и прочего. То есть подключаем к проекту файл драйвера или библиотеку которая будет обеспечивать связь с USB устройством. На устройство нужно посылать байты.

Добавлено через 1 час 12 минут
Устройство это термопринтер на которое есть драйвера которые работают через usbprint.sys
В программе на C# использовалась библиотека LibUsb но для ее роботы требуется установка этого либюсб в ОС.
Нужно обойтись без установки этой библиотеки то есть на прямую посылать биты принтеру. Может есть какая то альтернатива )
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2017, 11:59
Ответы с готовыми решениями:

Библиотека USB для C#
Всем доброго времени суток!! Подскажите, пожалуйста, в какой библиотеки, для работы с USB,...

Библиотека USB для stm32f10xx
Здраствуйте! Для stm32f10xx есть стандартная библиотека B-FS-Device Lib. В ее документации...

Библиотека для софтварного получения ascii кодов с USB клавиатуры
Hello cyberforumpeople, решил собрать кое-какой агрегат, для него нужен ввод. Делать свою...

Библиотека для работы с БД
Привет! Нужна нормальная библиотека под linux для подключения к базам данных, в особенности для...

15
Эксперт .NET
12565 / 8734 / 1311
Регистрация: 21.01.2016
Сообщений: 32,763
19.07.2017, 12:11 2
Цитата Сообщение от paulodelon Посмотреть сообщение
Нужно обойтись без установки этой библиотеки то есть на прямую посылать биты принтеру.
Боюсь, что драйвер usbprint.sys не просто так был написан. Если бы без него можно было обойтись, то нафига бы он был нужен, правда?

Есть какая-то объективная причина не устанавливать необходимый драйвер?
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
19.07.2017, 12:20 3
paulodelon, из Windows напрямую работать с устройствами USB нельзя,
только через драйверы (WinUSB, libusb и т.д.), либо через HID, есть устройство
предоставляет такой интерфейс.

И почему нельзя просто использовать функции печати? Зачем понадобилось "посылать биты принтеру"?
0
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
19.07.2017, 12:52  [ТС] 4
Я имел в виду без установки LibUsb.

Добавлено через 1 минуту
Биты принтреру посылать для конфигурации принтера. Программа конфигурирует принтер

Добавлено через 6 минут
Драйвера которые идут к принтеру используют usbPrint.sys
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
19.07.2017, 14:21 5
Цитата Сообщение от paulodelon Посмотреть сообщение
Биты принтреру посылать для конфигурации принтера. Программа конфигурирует принтер
Чтобы конфигурировать принтер, вовсе не нужно спускаться на уровень USB.
Есть же функции SetPrinter, SetPrinterData и т.д.
1
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
20.07.2017, 16:03  [ТС] 6
Есть библиотека которая не требует всяких установок а просто добавляется в проект на C# и общается с юсб ! БЕЗ УСТАНОВКИ.Там где используются принтера закрытые образы и ничего системного не установишь
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
20.07.2017, 21:17 7
Цитата Сообщение от paulodelon Посмотреть сообщение
Есть библиотека
И что это за библиотека?

Цитата Сообщение от paulodelon Посмотреть сообщение
не требует всяких установок а просто добавляется в проект на C# и общается с юсб !
Ну ок, я знаю массу утилит, которые тоже "не требуют установки".
Но при первом запуске скрыто устанавливают в систему свой драйвер и работают.
Ближайший пример - Process Hacker, утилиты Sysinternals, и т.д.

----
Если libusb не подходит, то я бы посоветовал смотреть в сторону WinUSB:

WinUSB (Winusb.sys)
https://msdn.microsoft.com/en-... s.85).aspx

WinUSB - это драйвер, встроенный в Windows, и интерфейсная dll к нему.
Все это специально предназначено для того, чтобы можно было программировать USB,
не связываясь с написанием драйвера.
1
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
21.07.2017, 09:49  [ТС] 8
Я дико извиняюсь, вы дали ссылку но я не полный флюент , может есть какой то пример на шарпе, буду очень благодарен!
Я новичок, жестко не судите )
0
Эксперт .NET
12565 / 8734 / 1311
Регистрация: 21.01.2016
Сообщений: 32,763
21.07.2017, 10:15 9
paulodelon, неужели вы настолько новичок, что погуглить по фразе "WinUSB C#" не можете? Сразу бы нашли это или что-нибудь подобное.
0
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
21.07.2017, 11:14  [ТС] 10
Библиотеку которую вы сбросили не работает без установки фильтра libusb
0
Эксперт .NET
12565 / 8734 / 1311
Регистрация: 21.01.2016
Сообщений: 32,763
21.07.2017, 11:24 11
paulodelon, это был один из вариантов. Если нужный вам функционал представлен некоторой DLL-кой, то над ней уже наверняка есть управляемая обёртка. Если нет, то её придётся написать самому используя p\invoke и немного гугла для ознакомления с маршалингом (Marshalling).
0
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
21.07.2017, 11:36  [ТС] 12
Может можно как то напрямую с драйвером работать ?
0
Эксперт .NET
12565 / 8734 / 1311
Регистрация: 21.01.2016
Сообщений: 32,763
21.07.2017, 12:32 13
Цитата Сообщение от paulodelon Посмотреть сообщение
Может можно как то напрямую с драйвером работать ?
Только через средства самой ОС - WinAPI. А это в любом случае потребует обёртку, либо самопальную, либо готовую.
0
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
21.07.2017, 13:29  [ТС] 14
А что значит обертку ? Я примерно понимаю но хотелось бы уточнить
0
Эксперт .NET
12565 / 8734 / 1311
Регистрация: 21.01.2016
Сообщений: 32,763
21.07.2017, 13:33 15
Цитата Сообщение от paulodelon Посмотреть сообщение
Может можно как то напрямую с драйвером работать ?
Библиотека, скрывающая взаимодействие с неуправляемым кодом.
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
21.07.2017, 15:31 16
А для WinUSB поиск выдает вот что:

WinUSBNet
https://github.com/madwizard-thomas/winusbnet
0
21.07.2017, 15:31
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.07.2017, 15:31
Помогаю со студенческими работами здесь

Библиотека для работы с БД
Здравствуйте. Порылся на форуме, вроде ничего подобного не нашёл, а именно: Мне необходимо...

OpenGL: есть ли библиотека для работы с 3D графиками для java?
есть ли библиотека для работы с 3D графиками для java???

Библиотека для работы с JPG
Подскажите библиотеку, которая может работать с JPG изображениями (кодировать и декодировать в...

Библиотека для работы с IMAP
Подскажите адекватную, бесплатную библиотеку для работы с IMAP. Мне нужно получить все письма с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru