Article : Management Strongly Typed Class Generator - Mgmtclassgen

G

Guest

Hey Group,

Today we will discuss Management Strongly Typed Class Generator aka
Mgmtclassgen.exe. This tool is used to generate an early - bound managed
class for Windows Management Instrumentation Classes.

What are Windows Management Instrumentation Classes ?

Well windows SDK has a set of classes by which you can access the various
devices associated to your computer like your harddisk, memory,floppy drive,
processor, sound card , mointor etc.

You have an entire list of these classes. Check out the below link for the
list

http://msdn.microsoft.com/library/d...isdk/wmi/computer_system_hardware_classes.asp

Creating a managed class for WMI class is very simple.

Go to VS.Net command prompt type

mgmtclassgen /? /// this will list all the options.

/N <WMINamespace> WMI namespace containing the class.Defaults
to root\cimv2
/O <ClassNamespace> .NET namespace in which the class isgenerated
/L <Generated Language> One of the following. Defaulted to CS
CS - CSharp(C#)
VB - Visual Basic
JS - JScript
/P <FilePath> Output file path
/M <Machine> Remote computer to connect. Defaults
to the local machine
/U <User> User name
/PW <Password> Password
/? Displays this help screen

Example : MgmtclassGen Win32_Logicaldisk /L VB /N root\cimv2 /P
c:\temp\logicaldisk.vb

Note : The help also gives an example showing how to use the tool.

Let us now create our own managed class for SoundDevice and Desktop Monitor
associated with our machine.

Go to VS.Net and type the following command to generate a managed class
forsound device

Mgmtclassgen Win32_SoundDevice /L CS /N root\cimv2 /P soundDevice.cs

You should get the following message

Microsoft (R) Management Strongly Typed Class Generator Version
1.1.4322.573
Copyright c Microsoft Corporation 1998-2002. All rights reserved.
Generating Code for WMI Class Win32_SoundDevice ...
Code Generated Successfully!!!!

Use the below command to generate a managed class for desktop monitor

Mgmtclassgen Win32_DesktopMonitor /L CS /N ROOT/CIMV2 /P
DesktopMonitor.cs

You should get the following message

Microsoft (R) Management Strongly Typed Class Generator Version
1.1.4322.573
Copyright c Microsoft Corporation 1998-2002. All rights reserved.
Generating Code for WMI Class Win32_DesktopMonitor ...
Code Generated Successfully!!!!

Managed classes for SoundDevice and DesktopMonitor are ready !!!!

Let use them in our application.

Create a console application and add these two classes to the project.

Add using WMI = ROOT.CIMV2.Win32 at the top. Here WMI is an alias to the
namespace name.

Type the following code in the static Main() for your class

public static void Main()
{

Console.WriteLine(WMI.SoundDevice.GetInstances().Count);

foreach(WMI.SoundDevice sd in
WMI.SoundDevice.GetInstances())
{
Console.WriteLine(sd.DeviceID);
Console.WriteLine(sd.SystemName);
Console.WriteLine(sd.Description);
}

Console.WriteLine("MONITOR");

Console.WriteLine(" ");


Console.WriteLine(WMI.DesktopMonitor.GetInstances().Count);

foreach(WMI.DesktopMonitor DM in
WMI.DesktopMonitor.GetInstances())
{
Console.WriteLine(DM.ScreenHeight + " " +
DM.ScreenWidth);
}

Console.ReadLine();
}

In the above code we displaying values of some basic properties for sound
device and desktop monitor.

-- Please post your queries and comments for my articles in the usergroup
for the benefit of all. I hope this step from my end is helpful to all of us.

Regards,
Namratha (Nasha)
MyBlog -- http://spaces.msn.com/members/nasha
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top