2012-07-05 12 views
9

जब आप स्क्रीन रेज़ोल्यूशन डायलॉग में पहचान बटन दबाते हैं तो विंडोज आपको प्रत्येक मॉनीटर पर बड़ी सफेद मॉनीटर नंबर दिखाता है। Windows XP (EnumDisplayDevices के साथ) में मॉनीटर निर्देशांक के साथ प्रोग्रामेटिक रूप से उन्हें ढूंढना आसान था, लेकिन विंडोज 7 पर यह टूटा हुआ था। मैं उसे कैसे कर सकता हूँ?मैं Win7 प्रोग्रामेटिक रूप से स्क्रीन रेज़ोल्यूशन डायलॉग से मॉनीटर नंबर कैसे प्राप्त कर सकता हूं?

  1. EnumDisplayDevices और GetMonitorInfo विंडोज 7
  2. में उस उद्देश्य के लिए not reliable anymore हैं मैं GetMonitorInfo की कोशिश की और उसके बाद कोई सफलता के साथ MONITORINFOEX.szDevice से नजर रखने के नंबर निकालने (अर्थात \। \ Display2)। दो साल पहले एक और लड़का did that too और दावा किया कि getMonitorInfo में एक बग है। This bug को बिना किसी टिप्पणी के माइक्रोसॉफ्ट द्वारा तय किया गया था लेकिन इसे अभी भी नवीनतम अपडेट वाले Win7 मशीन पर पुन: उत्पादित किया जा सकता है। (बीटीडब्ल्यू, क्या कोई मुझे बता सकता है - शायद यह बग win8 पर अनुपस्थित है?)
  3. मैंने नई सीसीडी एपीआई से QueryDisplayConfig की कोशिश की लेकिन आवश्यक जानकारी नहीं मिली।

क्या कोई रास्ता जानता है?

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/2600255/how-can-i-retrieve-monitor-information) – Deanna

उत्तर

1

मैं कभी भी अपने विंडोज अनुप्रयोगों में मॉनीटर की संख्या में नहीं जानना चाहता था, लेकिन आप डेस्कटॉप पर प्रदर्शन मॉनीटर की संख्या प्राप्त करने के लिए पैरामीटर मान SM_CMONITORS के साथ GetSystemMetrics function पर कॉल कर सकते हैं।

मैं अपने Windows अनुप्रयोगों में फोन GetSystemMetrics ढंग से काम पैरामीटर मुख्य रूप से साथ SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN, SM_XVIRTUALSCREEN और SM_YVIRTUALSCREEN महत्व देता आवेदन खिड़कियां पूरी तरह या आंशिक रूप से खोलने के प्रदर्शन क्षेत्र के बाहर से बचने के लिए। यदि उपयोगकर्ता ने एकाधिक मॉनीटर पर प्रदर्शन क्षेत्र बढ़ाया है, लेकिन उनमें से सभी चालू नहीं हैं, तो एक एप्लिकेशन विंडो तब भी दिखाई नहीं दे सकती है।

uiAction पैरामीटर के लिए मूल्य SPI_GETWORKAREA साथ SystemParametersInfo function समारोह भी पता करने के लिए जहां एक आवेदन खिड़की तैनात किया जा सकता है और कितना बड़ा यह आंशिक रूप से अन्य विंडो (बार) से छिपा हुआ जा रहा है बिना चौड़ाई और प्राथमिक स्क्रीन पर ऊंचाई में हो सकता है किया जा रहा है बहुत उपयोगी है हमेशा शिखर पर।

GetMonitorInfo function भी देखें यदि मॉनीटर से अधिक जानकारी आपके विंडोज एप्लिकेशन में आवश्यक है।

0

डब्ल्यूडीडीएम का समर्थन करने वाले विंडोज संस्करणों के लिए, जो विंडोज 7 करता है, आप केवल डीएक्सजीआई का उपयोग कर सकते हैं जो डायरेक्टएक्स का हिस्सा है। डीएक्सजीआई आपको मौजूदा डिस्प्ले एडाप्टर, प्रति एडाप्टर उपलब्ध डिस्प्ले आउटपुट और डिस्प्ले आउटपुट के समर्थित डिस्प्ले मोडों को आसानी से समझाता है। यह बताते हुए कि बहुत सारे अतिरिक्त डेटा हैं जिन्हें आप हैंडल, पहचानकर्ता और डिवाइस नामों जैसे पढ़ सकते हैं। इन सभी को आसानी से काम करने वाले क्षेत्रों को पुनः प्राप्त करने के लिए भी उपयोग किया जा सकता है। जिस क्रम में एडेप्टर और आउटपुट की गणना की जाती है वह सिस्टम द्वारा परिभाषित की जाती है और आपकी कॉन्फ़िगरेशन स्क्रीन के क्रम से मेल खाती है।

अधिक जानकारी के लिए यहाँ देखें: MSDN DXGI Overview

की [? मैं जानकारी की निगरानी प्राप्त कर सकते हैं कैसे] (
संबंधित मुद्दे

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