2010-08-13 8 views
5

का उपयोग कर पीसी की मॉनीटर जानकारी प्राप्त करें क्या निर्माता, सीरियल नंबर, मॉनीटर साइज इत्यादि जैसे मॉनिटर जानकारी को पकड़ने के लिए WMI/.Net का उपयोग कर रहे हैं?.NET/WMI

एक स्क्रिप्ट का उपयोग करना एक विकल्प भी है, या क्या मैं इस जानकारी को प्राप्त करने के लिए सीधे रजिस्ट्री से पूछ सकता हूं?

SELECT * FROM Win32_DesktopMonitor वास्तव में इस मामले में मेरे लिए कोई उपयोगी जानकारी नहीं देता है।

उत्तर

5

आप इस

http://myitforum.com/cs2/blogs/rzander/archive/2009/03/30/wmi-provider-to-list-the-monitors-serialnr-and-model-name.aspx

इसके अलावा मैं WMI सेटिंग्स के लिए चारों ओर की जाँच करने के WMI एक्सप्लोरर का उपयोग करके देख सकते हैं

http://www.ks-soft.net/hostmon.eng/wmi/index.htm

चीयर्स

+1

कृपया लिंक की सामग्री के सारांश के साथ संपादित करें ताकि अन्य लोग आनंद उठा सकें अगर आपका लिंक टूटा हुआ है तो आपका जवाब। –

+0

@ टिमिरवर्ड ... और पहला लिंक टूटा हुआ दिखता है। – LarsTech

1

वह चयन क्वेरी आपको जो चाहिए वो देनी चाहिए। Here वह दस्तावेज है जिसमें क्वेरी का विवरण शामिल है।

तो फिर तुम कुछ इस तरह कर सकता है:

public void GetMonitorDetails() 
    { 
     using(ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor") 
     { 
      foreach(ManagementObject currentObj in searcher.Get()) 
      { 
      String name = currentObj("Name").ToString(); 
      String device_id = currentObj("DeviceID").ToString(); 
      // ... 
      } 
     } 
    } 
+0

यही प्रश्न है जो मैंने प्रश्न में सूचीबद्ध किया है जो काम नहीं करता :)! – mint

+0

@now - अपडेट देखें, अगर मुझे – SwDevMan81

+0

मदद मिलती है तो मुझे बताएं कि यह मुझे बहुत सारी जानकारी नहीं देता है जो मैं ढूंढ रहा हूं (सीरियल #, मॉनीटर साइज, यह मॉनिटर निर्माता कहता है लेकिन यह मान है: <मानक मॉनिटर प्रकार > जो मैं नहीं ढूंढ रहा था। – mint

10

अरे, मैं अपने WMI बहुत काम के लिए इस उपकरण का उपयोग विशेष रूप से जब प्रोटोटाइप और POCs बनाने ....

Microsoft WMI Code Generator

यह उपकरण के लिए त्वरित सांत्वना अनुप्रयोग कोड बनाने के लिए अच्छा है किसी भी WMI क्वेरी या दोनों में सी # विधि मंगलाचरण और VB.NET

try 
     { 
      ManagementObjectSearcher searcher = 
       new ManagementObjectSearcher("root\\CIMV2", 
       "SELECT * FROM Win32_DesktopMonitor"); 

      foreach (ManagementObject queryObj in searcher.Get()) 
      { 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("Win32_DesktopMonitor instance"); 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("Description: {0}", queryObj["Description"]); 
      } 
     } 
     catch (ManagementException e) 
     { 
      MessageBox.Show("An error occurred while querying for WMI data: " + e.Message); 
     } 

ऊपर कोड आप पर नजर रखने के निर्माता और मॉडल मिल जाएगा।

0

This post, डब्लूएमआई प्रबंधन उपकरण के बारे में नीचे दिए गए उत्तर के साथ संयुक्त मेरा जवाब था। यहां वह कोड है जो आपके मॉनिटर संकल्प देता है।

try {     
     ManagementObjectSearcher searcher = 
      new ManagementObjectSearcher("root\\WMI", 
      "SELECT * FROM WmiMonitorBasicDisplayParams");  

     foreach (ManagementObject queryObj in searcher.Get()) { 
      Debug.WriteLine("-----------------------------------"); 
      Debug.WriteLine("WmiMonitorBasicDisplayParams instance"); 
      Debug.WriteLine("-----------------------------------"); 
      Debug.WriteLine("Description: {0}", queryObj["SupportedDisplayFeatures"]); 
     } 
    } catch (ManagementException e) { 
     MessageBox.Show("An error occurred while querying for WMI data: " + e.Message); 
    } 

मेरे मामले में, मैं अभी भी अटक गया हूं, क्योंकि यह प्रत्येक मॉनीटर के "स्केल डाउन" रिज़ॉल्यूशन को वापस कर रहा है। मेरा एक 4K डिस्प्ले है, जिसे 2560x1440 के रूप में रिपोर्ट किया जा रहा है।