Get the Pointing Device (Mouse) Details of Your System in Windows Form


This article explains how to get the details of the Pointing Device (Mouse) connected to your system. Here I will get the information from the Win32_PointingDevice class.

What Win32_PointingDevice is

The Win32_PointingDevice WMI class a represents an input device used to point to and select regions on the display of a computer system running Windows. Any device used to manipulate a pointer, or point to the display on a computer system running Windows is a member of this class.

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 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_PointingDevice");
     ManagementObjectSearcher objOSDetails = new ManagementObjectSearcher(Sq);
     ManagementObjectCollection osDetailsCollection = objOSDetails.Get();
     StringBuilder sb = new StringBuilder();
     foreach (ManagementObject mo in osDetailsCollection)
         sb.AppendLine(string.Format("Caption: {0}", (string)mo["Caption"]));
         sb.AppendLine(string.Format("ConfigManagerErrorCode: {0}", mo["ConfigManagerErrorCode"].ToString()));
         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("Manufacturer : {0}", (string)mo["Manufacturer"]));
         sb.AppendLine(string.Format("NumberOfButtons : {0}", mo["NumberOfButtons"].ToString()));
         sb.AppendLine(string.Format("LastErrorCode : {0}", (string)mo["LastErrorCode"]));
         sb.AppendLine(string.Format("Name : {0}", (string)mo["Name"]));
         sb.AppendLine(string.Format("DeviceInterface : {0}", mo["DeviceInterface"].ToString()));
         sb.AppendLine(string.Format("PointingType : {0}", (ushort)mo["PointingType"]));
         sb.AppendLine(string.Format("HardwareType : {0}", (string)mo["HardwareType"]));
         sb.AppendLine(string.Format("InfFileName : {0}", (string)mo["InfFileName"]));
         sb.AppendLine(string.Format("InfSection : {0}", (string)mo["InfSection"]));
         sb.AppendLine(string.Format("PNPDeviceID: {0}", (string)mo["PNPDeviceID"]));
         sb.AppendLine(string.Format("PowerManagementSupported : {0}", mo["PowerManagementSupported"]).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"]));

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


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


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.


It represents various collections of management objects retrieved using WMI.

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

Thank you.