.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Articles >> Windows Application >> Post New Resource Bookmark and Share   

 Subscribe to Articles

Monitor Details of Your System using WMI Class

Posted By:Sanjeeb Lenka       Posted Date: November 30, 2013    Points: 200    Category: Windows Application    URL: http://www.dotnetspark.com  

This article explains how to get the details of the Monitor connected to your system. Here I will get the information from the Win32_DesktopMonitor class.
 

Introduction

This article explains how to get the details of the Monitor connected to your system. Here I will get the information from the Win32_DesktopMonitor class.

What Win32_DesktopMonitor is

The Win32_DesktopMonitor WMI class represents the type of monitor or display device attached to the computer system.

Design
 
Create a new Windows Forms Application Project.

Add one button control to the form.

Design your screen as in the following screen:



 

Next add a reference for "System.Management".
 


To add the reference use the following procedure.

Go to Solution Explorer, select the project and right-click on that and choose "Add Reference" from the menu.



 


A window will open; in that choose the ".Net" tab.




It will show a list. In that list, choose "System.Management" and click the "OK" Button.


 

Now go to the code view.
 
Add the namespace "using System.Management;".

Write the following code in the Button Click event:

       
 private void button1_Click(object sender, EventArgs e)
        {
            SelectQuery Sq = new SelectQuery("Win32_DesktopMonitor");
            ManagementObjectSearcher objOSDetails = new ManagementObjectSearcher(Sq);
            ManagementObjectCollection osDetailsCollection = objOSDetails.Get();
            StringBuilder sb = new StringBuilder();
            foreach (ManagementObject mo in osDetailsCollection)
            {
                sb.AppendLine(string.Format("Name : {0}", (string)mo["Name"]));
                sb.AppendLine(string.Format("Availability: {0}", (ushort)mo["Availability"]));
                sb.AppendLine(string.Format("Caption: {0}", (string)mo["Caption"]));
                sb.AppendLine(string.Format("InstallDate: {0}", Convert.ToDateTime(mo["InstallDate"]).ToString()));
                sb.AppendLine(string.Format("ConfigManagerUserConfig: {0}", mo["ConfigManagerUserConfig"].ToString()));
                sb.AppendLine(string.Format("CreationClassName : {0}", (string)mo["CreationClassName"]));
                sb.AppendLine(string.Format("Description: {0}", (string)mo["Description"]));
                sb.AppendLine(string.Format("DeviceID : {0}", (string)mo["DeviceID"]));
                sb.AppendLine(string.Format("ErrorCleared: {0}", (string)mo["ErrorCleared"]));
                sb.AppendLine(string.Format("ErrorDescription : {0}", (string)mo["ErrorDescription"]));
                sb.AppendLine(string.Format("ConfigManagerUserConfig: {0}", mo["ConfigManagerUserConfig"].ToString()));
                sb.AppendLine(string.Format("LastErrorCode : {0}", mo["LastErrorCode"]).ToString());
                sb.AppendLine(string.Format("MonitorManufacturer : {0}", mo["MonitorManufacturer"]).ToString());
                sb.AppendLine(string.Format("PNPDeviceID: {0}", (string)mo["PNPDeviceID"]));
                sb.AppendLine(string.Format("MonitorType: {0}", (string)mo["MonitorType"]));
                sb.AppendLine(string.Format("PixelsPerXLogicalInch : {0}", mo["PixelsPerXLogicalInch"].ToString()));
                sb.AppendLine(string.Format("PixelsPerYLogicalInch: {0}", mo["PixelsPerYLogicalInch"].ToString()));
                sb.AppendLine(string.Format("ScreenHeight: {0}", mo["ScreenHeight"].ToString()));
                sb.AppendLine(string.Format("ScreenWidth : {0}", mo["ScreenWidth"]).ToString());
                sb.AppendLine(string.Format("Status : {0}", (string)mo["Status"]));
                sb.AppendLine(string.Format("SystemCreationClassName : {0}", (string)mo["SystemCreationClassName"]));
                sb.AppendLine(string.Format("SystemName: {0}", (string)mo["SystemName"]));
            }
            MessageBox.Show(sb.ToString());
        } 


In the code above I am getting the information from Win32_DesktopMonitor and showing it in a Message Box on a button click.

SelectQuery

It represents a WMI Query Language (WQL) SELECT data query.

ManagementObjectSearcher

It retrieves a collection of management objects based on a specified query.

This class is one of the more commonly used entry points to retrieving management information.

ManagementObjectCollection

It represents various collections of management objects retrieved using WMI.

Now build your application. Click on the button; it will show the Battery details in a Message box.



 Subscribe to Articles

     

Further Readings:

Responses

No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More Articles on C#, ASP.Net, Vb.Net, SQL Server and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend