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

Как получить USB-устройства Список из браузера

Какие технологии на базе браузера позволят мне запрашивать клиентские USB-устройства, подключенные в настоящее время, - в частности, имя и идентификатор устройства. Конечно, я согласен с тем, что клиент должен разрешить и подтвердить такую ​​активность.

Мне все равно, если на низком уровне он использует WMI, прямой доступ или какой-то другой уровень доступа, все, что я хочу, - это использовать его из браузера. Я бы оценил образцы кода, и я был бы доволен независимым от браузера решением.

4b9b3361

Ответ 1

Я немного разочарован отсутствием попытки хотя бы дать мне частичное решение. Хотя я не смог найти независимое от браузера решение, я придумал один для IE в Windows, используя WMI, точнее, объект WbemScripting.SWbemLocator ActiveX. Это лучше, чем ничего, лучше, чем "вы не можете этого сделать".

Итак, для всех, кого это интересует, вот оно:

    function pollConnectedDevices()
    {
     var locator = new ActiveXObject("WbemScripting.SWbemLocator");
     var conn = locator.ConnectServer(".", "root\\cimv2");
     var result = conn.ExecQuery("Select * From Win32_USBHub");
     var enumer = new Enumerator(result);

     for (;!enumer.atEnd();enumer.moveNext ())
     {
       var hub = enumer.item ();

       alert(hub.Name + " " + hub.DeviceId);
     }

     setTimeout("pollConnectedDevices()",1000);
   }
   setTimeout("pollConnectedDevices()",1000);

Да, это только в IE на Windows. Да, для этого требуется разрешение пользователя. Но, ДА, это что-то, возможно, оно делает то, что мне нужно для этого.

Если кто-то еще знает другой способ - и я говорю здесь о коде, а не о мнениях, я все еще ищу частичные решения для других браузеров и ОС. Запрос USB-устройства - интересная вещь, и, несмотря на все аргументы, я говорю, что "это программное обеспечение, оно должно что-то делать, а не мешать вам что-то делать".

Ответ 2

Вы не можете сделать это из браузера (по причинам). Вам понадобится подключаемый модуль, который пользователь должен установить.

Ответ 3

IE ActiveX, панель инструментов IE, оболочка плагина Netscape (для Opera/Windows, Firefox/Windows, возможно, Chrome/Windows) = > WMI. Предположительно, любой такой материал был бы запрещен любым антивирусным программным обеспечением для скрипачей.

Вы можете: a > пойдите таким образом, b > пойдите с встроенной поддержкой смарт-карт вместо того, чтобы сделать ключи безопасности usb c > напишите свое собственное программное обеспечение, которое запустит веб-сервер на 127.0.0.1 и получит доступ к нему из javascript на вашей странице (где загружается установка предлагается).

Ответ 4

Вам нужно будет написать себе плагин для этого.

Ответ 6

Невозможно сделать это со стандартным javascript.

Может работать с ActiveX (только IE и Windows) или Flash или расширение браузера (для каждой ОС).

Ответ 7

Hm, с моей головы, я думаю, XBAP может помочь вам. http://www.xbap.org/. С этого момента он просто С# с некоторым #usblib.

Изменить Hm, он говорит, что он запускается в режиме песочницы. И это похоже на IE-only pluggin. Я предполагаю, что XBAP - это промах.