मैं गेमपैड हैंडलिंग के लिए डायरेक्ट इनपुट से रॉइन इनपुट में एक एप्लिकेशन स्विच कर रहा हूं, और मैं प्रत्येक गेमपैड के लिए एक मानव पठनीय विवरण प्रस्तुत करना चाहता हूं। आदर्श उपकरण उपकरण होगा जो डिवाइस मैनेजर में दिखाई देता है, लेकिन यूएसबी उत्पाद विवरण भी करेगा। किसी भी विधि को व्यवस्थापक अनुमति के बिना काम करना चाहिए।RawInput छिपा डिवाइस के लिए मानव पठनीय नाम कैसे प्राप्त करें?
अब तक मुझे एक set of clues मिला है: रजिस्ट्री में HKLM\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM
के तहत एक टेक्स्ट फ़ील्ड प्रतीत होता है जो DirectInput द्वारा प्रदान किए गए नाम के समान है। यह सही नहीं है - मेरे पास एक गेमपैड है जो डिवाइस मैनेजर में अंग्रेजी में दिखाई देता है, लेकिन रजिस्ट्री में 氀 के रूप में सूचीबद्ध करता है।
क्या डिवाइस प्रबंधक विवरण में WM_INPUT
द्वारा प्रदान किए गए हैंडल से प्राप्त करने का कोई तरीका है? HidD_GetProductString
आशाजनक लग रहा है, लेकिन मुझे नहीं पता कि RawInput हैंडल से छुपा शीर्ष स्तर संग्रह संभाल कैसे प्राप्त करें।
संपादित करें:। मैं किसी उपकरण उदाहरण पथ (जैसे \\?\HID#VID_1267&PID_A001#8&1d630df6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
, जानकारी मैं SetupAPI से की जरूरत को निकालने के लिए पर्याप्त हो सकता है जो मिल गया है किसी को भी पता है कि यह कैसे एक उदाहरण पथ दिया तक पहुँचने के लिए