كيفية الوصول إلى الأجهزة على جهاز كمبيوتر عميل من متصفح

StackOverflow https://stackoverflow.com/questions/2178892

سؤال

ما هي الطرق المختلفة للوصول إلى الأجهزة على جهاز الكمبيوتر العميل - قارئ الباركود ، والماسح الضوئي ، وما إلى ذلك - من متصفح؟ أدرك أن المستخدمين قد يحتاجون إلى مكون إضافي. قد تحتوي هذه الأجهزة على واجهة برمجة تطبيقات خاصة بجهازها ؛ أرغب في استغلال واجهة برمجة التطبيقات الخاصة بهم إذا كانت متوفرة (ربما Java ، ربما C ، ربما سطر الأوامر).

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

المحلول

أ وقعت يمكن أن يكون لدى Java Applet وصول مستقل عن النظام الأساسي إلى معظم الأشياء. يجب تثبيت المستخدم Java ، ويجب أن يسمح للتطبيق الموقّع بالتشغيل.

إذا كتبت مكونًا إضافيًا إلى nsapi, ، بمجرد تثبيته ، سيكون بإمكانك الوصول إلى أي شيء يمكن للمستخدم الوصول إليه. بالطبع ، يتعين عليهم تثبيت المكون الإضافي.

يوفر Flash الكثير من الوصول إلى الأجهزة.

نصائح أخرى

هذا ليس شيئًا تافهًا ، ولا يوجد واجهة برمجة تطبيقات موحدة لذلك (باستثناء ربما في منطقة JScript/ActiveX التي تقتصر على Internet Explorer).

للوصول إلى الماسحات الضوئية من خلال واجهة Twain ، تحقق من هذا السؤال لجميع الخيارات المتاحة بشكل عام الذي أعرفه.

معظم الأشياء الأخرى ستنخفض إلى Active-X المبرمجة والمؤسسات الأخرى. لقد رأيت مكونات ماسحة الباركود التجارية التي تمت مناقشتها على ذلك ، لكن لا يمكنني العثور على السؤال الآن.

يمكن إدراج العديد من قراء الباركود بين لوحة المفاتيح والكمبيوتر الشخصي ، وبالتالي فإن الرموز الباركية الممسوحة ضوئيًا تنتقل مباشرة إلى المخزن المؤقت للوحة المفاتيح. الأجهزة الأخرى إما توصيل منفذ تسلسلي أو لديها برامج تشغيل يحاكي منفذ تسلسلي. سيقوم رمز Python التالي بنسخ البيانات من منفذ COM حقيقي أو افتراضي إلى المخزن المؤقت للوحة المفاتيح للنافذة النشطة. رقم منفذ COM مرمّز للغاية ولكن يمكن تغيير هذا بسهولة.

import serial
import SendKeys

ser = serial.Serial(2)
print ser.portstr
while 1: # exit loop when ctrl/c pressed
    line = ""
    while 1:
        char = ser.read()
        if char == "\r": break
        line = line + char
    print line
    SendKeys.SendKeys(line, 0)
ser.close()

اعتمادًا على ما تحاول القيام به ، يتمتع كل من Silverlight و Adobe ببعض القدرة المحدودة في هذه الساحة. كاميرات الويب ، الطباعة في Silverlight 4.0 ، إلخ. ومع ذلك ، فهي غير تافهة. Silverlight 4.0 وفلاش كلا يدعمان المسح الباركود.

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