|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
Как считать данные поступающие на вход USB? Какую библиотеку лучше(удобней, проще) всего использовать? Например, у меня есть игровой USB джойстик. Как мне отловить то, что поступает на вход при нажатии на какую-то кнопку? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 11:43 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
Пока нашел такую прогу: http://www.codeproject.com/Articles/18099/A-USB-HID-Component-for-C ... разбираюсь ... вроде должно работать ... хожу под отладкой ... но чё-то одна проблемка ... Пока пробую прочитать данные из usb-мышки... ... там в коде есть такое место: Код: c# 1.
Причем strPath у меня равен: strPath = "\\\\?\\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; ... но метод CreateFile почему-то возвращает -1 (этот метод берется из Код: c# 1.
) Из-за того что [m_hHandle = -1] - не получаю ожидаемого результата. Думаю CreateFile должен возвращать что-то другое, а не -1. Может strPath не так определен? Кто подскажет strPath передается в правильном виде? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 14:18 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
wvetalПричем strPath у меня равен: strPath = "\\\\?\\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Префикс \\?\ используется для объектов файловой системы, а ты обращаешься к устройству. Попробуй префикс \\.\. Заодно открой для себя @-строки: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 16:34 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
bazilewvetalПричем strPath у меня равен: strPath = "\\\\?\\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Префикс \\?\ используется для объектов файловой системы, а ты обращаешься к устройству. Попробуй префикс \\.\. Заодно открой для себя @-строки: Код: c# 1.
В таком случае GetLastError() = 123: ERROR_INVALID_NAME 123 (0x7B) The filename, directory name, or volume label syntax is incorrect. а если без @ (то есть strPath = "\\.\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";) то GetLastError() = 5: ERROR_ACCESS_DENIED 5 (0x5) Access is denied. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 16:59 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
wvetalbazileпропущено... Префикс \\?\ используется для объектов файловой системы, а ты обращаешься к устройству. Попробуй префикс \\.\. Заодно открой для себя @-строки: Код: c# 1.
В таком случае GetLastError() = 123: ERROR_INVALID_NAME 123 (0x7B) The filename, directory name, or volume label syntax is incorrect. Извиняюсь ошибка 123 у меня получилась из-за того что я оставил двойные слеши (то есть strPath = @"\\\\.\\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";) Когда (strPath = @"\\.\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";) - ошибка 5 остается ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 17:07 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
Кажется понял в чем дело: Заменил: Код: c# 1.
на Код: c# 1.
получил ошибку 32: ERROR_SHARING_VIOLATION 32 (0x20) The process cannot access the file because it is being used by another process. Похоже на мышке поэкспериментировать не получится. Нужно сразу usb-джойстик подключать. Как проверю - отпишусь (но это будет после 7го января). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2013, 17:18 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
ЕвгенийВwvetal, http://microsin.net/programming/PC/hid-usb-driver-library-for-net-csharp.html Спасибо за ссылку - это как раз то что нужно. ЗЫ: http://www.codeproject.com/Articles/18099/A-USB-HID-Component-for-C - эта прога тоже работает. (Подключил джойстик - все ОК) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2013, 12:31 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
wvetalЕвгенийВwvetal, http://microsin.net/programming/PC/hid-usb-driver-library-for-net-csharp.html Спасибо за ссылку - это как раз то что нужно. ЗЫ: http://www.codeproject.com/Articles/18099/A-USB-HID-Component-for-C - эта прога тоже работает. (Подключил джойстик - все ОК) У кого-то это (библиотека USBHIDDRIVER.dll и прога по второй ссылке) работает на Windows 7? А то у меня на Windows XP все прекрасно работает, а на Windows 7 (32 и 64 бит) - не работает? Есть ли способ сделать так чтоб на Win7 тоже все работало? Или может другая библиотека нужна? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2013, 14:47 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
Может напрямую с hid.dll (которая содержит функции для доступа к устройствам USB HID) работать. Только я не нашел ни примеров кода, ни документации к этой библиотеке. Может кто чё-то подскажет, или даст ссылку на материал к этой библиотеке? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:52 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
wvetal, А из-под админа прогу запустить не помогает? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 14:46 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
kskwvetal, А из-под админа прогу запустить не помогает? Проги то запускаются - функции получения данных usb не работают. (под админом и запускаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 15:11 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
Вот нашел еще одну интересную библиотеку AtUsbHid.dll Здесь На WinXP работает, буду проверять на Win7 - потом отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 17:22 |
|
Работа с USB портом.
|
|||
---|---|---|---|
#18+
В общем сделал так, чтоб и на Win7(64 бита) тоже работали библиотеки USBHIDDRIVER.dll и AtUsbHid.dll. Решение: В свойствах пректа -> вкладка Build -> Platform target: нужно поставить x86 (у меня стояло Any CPU - поэтому на Win7 и не работало). Теперь все прекрасно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:26 |
|
|
start [/forum/topic.php?fid=20&msg=38104903&tid=1405363]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 165ms |
0 / 0 |