2011-08-22 17 views
8

बहुत सारे कीबोर्ड में सामान्य मीडिया फ़ंक्शन जैसे अगली/पिछली, प्ले/पॉज़ और स्टॉप होती है। क्या वे विंडोज में कुछ मौजूदा एपीआई का उपयोग करते हैं, या वे सबसे लोकप्रिय मीडिया प्लेयर (डब्लूएमपी, विनएम्प, स्पॉटिफा ...) के लिए विशिष्ट कार्यों को लागू करते हैं? मेरे द्वारा स्वामित्व वाले सभी कीबोर्ड जिनके पास यह कार्यक्षमता है, कीबोर्ड के बनाम कीबोर्ड की उम्र के बावजूद, सब कुछ के साथ काम करना प्रतीत होता है, इसलिए मैंने सोचा कि इसके लिए पहले से ही निर्मित एपीआई हो सकता है।सामान्य मीडिया प्लेयर कार्यों के लिए विंडोज एपीआई?

यदि वे विंडोज में पहले से मौजूद एपीआई का उपयोग करते हैं, तो मुझे इसके बारे में जानकारी कहां मिल सकती है?

बस स्पष्ट करने के लिए: मैं विशेष रूप से विंडोज मीडिया प्लेयर के साथ बातचीत करने का कोई तरीका नहीं ढूंढ रहा हूं। मैं सभी (समर्थित) मीडिया प्लेयर तक पहुंचने के लिए हिट करने के लिए एक जादू बटन ढूंढना चाहता हूं - यदि कोई ऐसा अस्तित्व में है।

+0

मैं हमेशा आश्चर्य किया है कि यह कैसे सामान्य दूरस्थ नियंत्रण करना संभव था विंडोज के लिए, लेकिन डॉट्स को कभी भी कनेक्ट नहीं किया - इस सवाल को पूछने के लिए धन्यवाद। –

उत्तर

6

यह केवल एक आभासी कुंजी कोड है - एक आधिकारिक सूची के लिए MSDN देखें।

वहाँ आप उदाहरण के लिए VK_VOLUME_UPVK_MEDIA_PLAY_PAUSEVK_ZOOM

यहां तक ​​कि कुछ दूरस्थ लगता है इन कोड से अनुवाद मौजूदा सॉफ्टवेयर के साथ संभव के रूप में संगत होना ..

संपादित करें - टिप्पणी के अनुसार:

ये उस दिन वापस पेश किए गए थे जब विंडोज एमई (!) बाहर आया था और अभी भी उपयोग में है - कम से कम जब मैंने अपने विंडोज 2008 आर 2 की रजिस्ट्री की जांच की!

मूल रूप से विंडोज कुछ वीके * तब्दील कुछ कोड है जो अनुप्रयोगों सुनने के साथ WM_APPCOMMAND संदेशों को ...
कुंजी करने के लिए (यानी मेल, ब्राउज़र आदि) किसी एप्लिकेशन की लॉन्चिंग के साथ कुछ नहीं है तो फिर जादू में विंडोज एक्सप्लोरर के माध्यम से होता है जो रजिस्ट्री से Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ AppKey पर या तो एचकेएलएम या एचकेसीयू पर मैपिंग (या तो एसोसिएशन या सीधी निष्पादन द्वारा) पढ़ता है।

वर्ष के साथ कुछ लिंक लेकिन यह अभी भी मान्य जानकारी लगता है के रूप में:

+0

... लेकिन इन कुंजी कोडों का उपयोग करने वाले विंडोज़ में अंतर्निहित कार्यक्षमता कहीं भी प्रकट नहीं हुई है? –

+0

आपका मतलब है कि विंडोज़ उदाहरण के लिए कैसे जानती है कि कौन सा एप्लिकेशन शुरू होता है जब कोई व्यक्ति 'VK_LAUNCH_MAIL' प्रस्तुत करता है? – Yahia

+1

जरूरी नहीं कि यह कैसे जानता है, लेकिन जो कुछ भी कार्य/विधि नीचे कॉल करता है। मेरा मतलब है, चूंकि विंडोज इतने सारे अलग-अलग ऐप्स पहचानता है जो उदा। प्ले/पॉज़ कार्यक्षमता, इसके लिए देखने के लिए कुछ प्रकार का सामान्य इंटरफ़ेस होना चाहिए, जिसे विंडोज़ में एक विशिष्ट फ़ंक्शन के माध्यम से ट्रिगर किया जा सकता है ...? –

6

वे केवल वर्चुअल कुंजी कोड उत्पन्न करते हैं जो DefWindowProc() पहचानता है। सीधे WinUser.h हेडर फाइल से नकल:

#if(_WIN32_WINNT >= 0x0500) 
#define VK_BROWSER_BACK  0xA6 
#define VK_BROWSER_FORWARD  0xA7 
#define VK_BROWSER_REFRESH  0xA8 
#define VK_BROWSER_STOP  0xA9 
#define VK_BROWSER_SEARCH  0xAA 
#define VK_BROWSER_FAVORITES 0xAB 
#define VK_BROWSER_HOME  0xAC 

#define VK_VOLUME_MUTE   0xAD 
#define VK_VOLUME_DOWN   0xAE 
#define VK_VOLUME_UP   0xAF 
#define VK_MEDIA_NEXT_TRACK 0xB0 
#define VK_MEDIA_PREV_TRACK 0xB1 
#define VK_MEDIA_STOP   0xB2 
#define VK_MEDIA_PLAY_PAUSE 0xB3 
#define VK_LAUNCH_MAIL   0xB4 
#define VK_LAUNCH_MEDIA_SELECT 0xB5 
#define VK_LAUNCH_APP1   0xB6 
#define VK_LAUNCH_APP2   0xB7 

#endif /* _WIN32_WINNT >= 0x0500 */ 

के बाद से सभी खिड़कियां फोन DefWindowProc(), तो आप बस कीस्ट्रोक भेजने के लिए SendInput या keybd_event उपयोग कर सकते हैं।

संबंधित मुद्दे