Windows XP पर एक विरासत समारोह
waveInGetNumDevs(void)
कि 0 लौटना चाहिए जब तक कि एक हेड फोन्स जैक प्लग किया गया है नहीं है। वैसे भी सही व्यवहार वास्तविक हार्डवेयर ड्राइवर पर निर्भर करता है। यह भी देखें: http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx
कुछ ध्वनि कार्ड हैं जहां यह काम नहीं करेगा, लेकिन यदि चालक एक उपयोगिता के साथ आता है जो हेडफोन जैक में कुछ प्लग इन होता है (यानी कुछ कार्ड्स हेडफोन/माइक के लिए साझा जैक होता है और यदि आप कोई डिवाइस डालते हैं, तो यह आपको पूछता है कि आपने किस प्रकार का डिवाइस अभी प्लग इन किया है) - आप अपना खुद का 'डिटेक्शन एप्लिकेशन', लिख सकते हैं जो किसी भी तरह से रिपोर्ट करता है (यानी सॉकेट, पाइप, साझा मेमोरी) अगर कुछ प्लग इन किया गया हो आपका मुख्य आवेदन आमतौर पर ड्राइवर स्थापित निर्देशिका में एक exe फ़ाइल है - आप इसे आसानी से बदल सकते हैं, अपने 'पहचान अनुप्रयोग' के साथ जो शुरू होता है अगर कुछ इस तरह से स्वचालित रूप से प्लग किया गया था।
मुझे डर है कि इन दो 'समाधान' (या दूसरे के लिए बेहतर कामकाज) के अलावा, विंडोज एक्सपी पर यह पता लगाने का कोई तरीका नहीं है कि डिवाइस को हेडफोन जैक में प्लग किया गया था या नहीं। विंडोज विस्टा और नए हालांकि, इन घटनाओं के लिए IKsJackDescription नामक एक नया इंटरफ़ेस है।