基于浏览器的技术将使我能够查询客户当前连接的USB设备 - 特别是其中的名称和设备ID。当然,我可以允许客户允许并确认此类活动。

我不在乎在低水平,它使用WMI,直接访问或其他类型的访问层,我想要的就是能够在浏览器中使用它。我会欣赏代码样本,并且对无浏览器无关的解决方案感到非常满意。

有帮助吗?

解决方案 2

我对缺乏至少给我部分解决方案感到有些失望。尽管我找不到与浏览器无关的解决方案,但我在Windows上提出了一个用于IE的解决方案,使用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);

是的,它仅在Windows上的IE上。是的,它确实需要用户的权限来完成其工作。但是,是的,这是有可能的,它可以做我需要做的事情。

如果其他人知道另一种方式 - 我在这里谈论的是代码,而不是意见,那么我仍在寻找其他浏览器和OS的部分解决方案。 USB设备查询是一件有趣的事情,尽管有所有参数,但我说:“它是软件,应该做某事,而不是阻止您做某事”。

其他提示

您不能从浏览器(有原因)中这样做。您需要一些用户必须安装的插件。

IE ActiveX,IE工具栏,Netscape插件包装器(用于Opera/Windows,Firefox/Windows,可能是Chrome/Windows)=> WMI。大概有任何废墟级防病毒软件禁止任何此类内容。

您可以:a>那样,b>使用智能卡本机支持,而不是制作USB安全性加密狗C>写下自己的软件,该软件将以127.0.0.1.1启动Web服务器,并从页面上的JavaScript访问它(其中提供安装下载)。

您需要为此写一个插件。

Java小程序。您可以使用 http://javax-usb.org/ .

而且它已经使用Java小程序完成了 http://forums.sun.com/thread.jspa?threadid=5371360

因此,解决方案肯定存在!!!

无法使用标准JavaScript进行操作。

可能与ActiveX(仅IE和Windows)或Flash或浏览器扩展程序(每个OS)一起使用。

嗯,从我的头顶上,我认为XBAP可能会为您提供帮助。 http://www.xbap.org/. 。从那时起,它只是#usblib的c#。

编辑 hm,它说它以沙盒模式运行。它似乎是仅限的插件。我猜 xbap 是一个错过。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top