سؤال

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

ونأمل في NET. ولكن إن لم يكن أي اقتراحات تقدير.

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

المحلول

SharpUSBLib . انها C # التفاف حول مشروع libusb.

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

  foreach (Bus bus in Bus.Busses)
        {
            Console.WriteLine(bus);
            foreach (Descriptor descriptor in bus.Descriptors)
            {
                Console.WriteLine("\t" + descriptor);
                try
                {
                    using (Device device = descriptor.OpenDevice())
                    {
                        Console.WriteLine("\t\t     Product: " + device.Product);
                        Console.WriteLine("\t\tManufacturer: " + device.Manufacturer);
                        Console.WriteLine();
                    }
                }
                catch (UsbException e)
                {
                    Console.WriteLine("Got Exception : " + e);
                }
            }
        }

نصائح أخرى

وأنت يمكن أن ننظر إلى WMI للحصول على معلومات الأجهزة.

http://msdn.microsoft.com/en-us/library /aa394582.aspx

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