Shalvin.Com                                                                                                                      Home
Windows Management Instrumentation (WMI)

For a detailed explanation of WMI visit wikipedia.

using System.Management;

private void Form1_Load(object sender, EventArgs e) {
  ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_CDRomDrive");

  ManagementObjectCollection moc = mos.Get();

  foreach (ManagementObject mo in moc)
    lstDrives.Items.Add(mo["Drive"]);
}

Listing the Insalled Products

using System.Management;

private void Form1_Load(object sender, EventArgs e)

   ManagementObjectSearcher mos2 = new ManagementObjectSearcher("select * from Win32_Product");
  ManagementObjectCollection moc2 = mos2.Get(); 

  foreach (ManagementObject mo in moc2)
    lstProducts.Items.Add(mo["Name"] + "\t" + mo["Version"] + "\t\" + mo["Vendor"]);
}


Listing all Running Process

using System.Management;

private void Form1_Load(object sender, EventArgs e)
{
  ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Process");

    foreach (ManagementObject disk in searcher.Get())
      listBox1.Items.Add(disk["Caption"] + "\t" + disk["Description"]);
}



Obtaining Information about the system

using System.Management;

private void Form1_Load(object sender, EventArgs e)
{
  ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_ComputerSystem");      ManagementObjectCollection moc = mos.Get();
foreach (ManagementObject mo in moc)
listBox1.Items.Add(mo["UserName"] + " " + mo["Caption"] + " " + mo["Description"] + " " + mo["Model"] + " " + mo["Manufacturer"]);
}


Obtaining Desktop Width and Height

using System.Management;

private void Form1_Load(object sender, EventArgs e)

 ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_DesktopMonitor");    ManagementObjectCollection moc = mos.Get();
foreach (ManagementObject mo in moc)
{
  MessageBox.Show(mo["ScreenWidth"] + " " + mo["ScreenHeight"]);
}
}


Listing the directories in C drive

using System.Management;

private void Form1_Load(object sender, EventArgs e)
{
 ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Directory where Drive = 'c:'");
 ManagementObjectCollection moc = mos.Get();
  foreach (ManagementObject mo in moc)
 {
   listBox1.Items.Add(mo["Caption"]);
  }
}


Invoking a Method (Deleting a directory)

using System.Management;

private void btnDelete_Click(object sender, EventArgs e)
{
 try
 {
  ManagementObject mo = new ManagementObject("root\\CIMV2", "Win32_Directory.Name='c:\\Shalvin'", null);  ManagementBaseObject mbo = mo.InvokeMethod("Delete", null, null);
  MessageBox.Show("File deleted successfully");
 }
 catch (ManagementException me)
 {
  MessageBox.Show(me.ToString());
 }
}


Subscribing to Events



Contact : shalvin@gmail.com