سؤال

ما هي التكنولوجيا المستندة إلى المتصفح التي ستسمح لي بالاستعلام عن أجهزة USB المتصلة حاليًا بالعميل - وتحديداً معرف الاسم ومعرف الجهاز لهذه. بالطبع ، أنا موافق على أن يتعين على العميل السماح وتأكيد مثل هذا النشاط.

لا يهمني إذا كان على المستوى المنخفض ، فهو يستخدم WMI أو الوصول المباشر أو نوع آخر من طبقة الوصول ، كل ما أريده هو أن أكون قادرًا على استخدامه من داخل المتصفح. أقدر عينات الرمز وسأكون سعيدًا جدًا بحل مستقل عن المتصفح.

هل كانت مفيدة؟

المحلول 2

أشعر بخيبة أمل بعض الشيء بسبب عدم محاولة إعطائي على الأقل حلًا جزئيًا. على الرغم من أنني لم أتمكن من العثور على حل مستقل للمتصفح ، إلا أنني توصلت إلى حل واحد لـ 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 أمرًا مثيرًا للاهتمام ، وعلى الرغم من جميع الحجج ، أقول "إنه برنامج ، من المفترض أن تفعل شيئًا ، ولا يمنعك من فعل شيء ما".

نصائح أخرى

لا يمكنك فعل ذلك من متصفح (بأسباب). ستحتاج إلى بعض المكونات الإضافية التي يتعين على المستخدم تثبيتها.

IE ActiveX ، IE شريط الأدوات ، Wrapper Netscape Plugin (للأوبرا/Windows ، Firefox/Windows ، ربما Chrome/Windows) => WMI. من المفترض أن يتم حظر أي أشياء من هذا القبيل من خلال أي برنامج مكافحة الفيروسات من فئة Scrapyard.

يمكنك: A> اذهب إلى هذا النحو ، B> اذهب مع دعم Native Cards Smart بدلاً من جعل أمن USB Dongles C> اكتب برنامجك الخاص ، الذي سيبدأ خادم الويب على 127.0.0.1 والوصول إليه من JavaScript على صفحتك (حيث يتم تقديم تنزيل التثبيت).

ستحتاج إلى كتابة برنامج إضافي لهذا الغرض.

applet java. يمكنك استخدام http://javax-usb.org/ .

وكذلك تم القيام به باستخدام applets Java http://forums.sun.com/thread.jspa؟threadid=5371360

لذلك حل بالتأكيد !!!

من المستحيل القيام بذلك مع JavaScript القياسية.

قد تعمل مع ActiveX (IE و Windows فقط) أو فلاش أو امتداد متصفح (لكل نظام تشغيل).

HM ، من أعلى رأسي ، أعتقد أن XBAP قد يساعدك. http://www.xbap.org/. ومنذ ذلك الحين فهي مجرد C # مع بعض #usblib.

يحرر HM ، وتقول إنه يتم تشغيله في وضع Sandbox. ويبدو أنه pluggin فقط. اعتقد XBAP هو ملكة جمال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top