Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Access WMI in C# ?

408 views
Skip to first unread message

Henry

unread,
Apr 7, 2007, 2:58:03 PM4/7/07
to
Below is the code I am trying to use in a console application, each time I
run it I get an Management error Illegal Class error. I have traced the
error to the \"Win32_Process\" line, apparently the wmi path is incorrect.
Tried to run the app on both xp and vista with the same error. Could
someone suggest how I might correct this wmi path variable???

Thanks

Henry


+++++++++++++++++++++++++++++++++++++++++++++++++++++

public static void WriteToEventLog()
{
WqlEventQuery DemoQuery = new
WqlEventQuery("_InstanceCreationEvent", new TimeSpan(0, 0, 1),
"TargetInstance isa \"Win32_Process\" ");

ManagementEventWatcher DemoWatcher = new
ManagementEventWatcher();
DemoWatcher.Query = DemoQuery;
DemoWatcher.Options.Timeout = new TimeSpan(0, 0, 30);

Console.WriteLine("Open an application to trigger an Event.");

ManagementBaseObject e = DemoWatcher.WaitForNextEvent();

EventLog DemoLog = new EventLog("Chap10Demo");
DemoLog.Source = "Chap10Demo";
String EventName =
((ManagementBaseObject)e["TargetInstance"])["Name"].ToString();
Console.WriteLine(EventName);
DemoLog.WriteEntry(EventName, EventLogEntryType.Information);

DemoWatcher.Stop();
}


+++++++++++++++++++++++++++++++Error follows

Open an application to trigger an Event.

Unhandled Exception: System.Management.ManagementException: Invalid class
at
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStat
us errorCode)
at System.Management.ManagementEventWatcher.WaitForNextEvent()
at ManagementEvents1.Program.WriteToEventLog() in
I:\Projects\ManagementEvent
s1\ManagementEvents1\Program.cs:line 29
at ManagementEvents1.Program.Main(String[] args) in
I:\Projects\ManagementEve
nts1\ManagementEvents1\Program.cs:line 14
Press any key to continue . . .

--
~
Most good judgment comes from experience.
Most experience comes from bad judgment.
~I'm leaning towards bad judgment.~

Willy Denoyette [MVP]

unread,
Apr 9, 2007, 9:44:47 AM4/9/07
to
"Henry" <atnorthe...@hotmail.com> wrote in message
news:3983A93E-E059-4635...@microsoft.com...

Notice the space at the end of ..
"TargetInstance isa \"Win32_Process\" ");

should be...
"TargetInstance isa \"Win32_Process\"");

Willy.


Chris Mullins [MVP]

unread,
Apr 9, 2007, 2:43:04 PM4/9/07
to
[Willy doing WMI Stuff]

You always have the coolest WMI stuff handy. Have you written a FAQ on it
anywhere, or archived all your examples?

--
Chris Mullins, MCSD.NET, MCPD:Enterprise, Microsoft C# MVP
http://www.coversant.com/blogs/cmullins


Henry

unread,
Apr 9, 2007, 10:35:58 PM4/9/07
to
Well, I wish it was that easy, corrected the space as you suggested, here is
the error...
It really seems to be a problem with the watcher, but what do I know???

Henry


>>>>
Open an application to trigger an Event.

Unhandled Exception: System.Management.ManagementException: Invalid class
at
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStat
us errorCode)
at System.Management.ManagementEventWatcher.WaitForNextEvent()
at ManagementEvents1.Program.WriteToEventLog() in
I:\Projects\ManagementEvent
s1\ManagementEvents1\Program.cs:line 29
at ManagementEvents1.Program.Main(String[] args) in
I:\Projects\ManagementEve
nts1\ManagementEvents1\Program.cs:line 14
Press any key to continue . . .

>>>>

"Willy Denoyette [MVP]" <willy.d...@telenet.be> wrote in message
news:ei#Q#0qeHH...@TK2MSFTNGP05.phx.gbl...

majl...@gmail.com

unread,
Apr 10, 2007, 4:14:22 AM4/10/07
to

If you want to play around with WMI (find right syntax etc.) try to
use WMI Creator:

http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en

Marian

Willy Denoyette [MVP]

unread,
Apr 10, 2007, 5:41:40 AM4/10/07
to
"Henry" <atnorthe...@hotmail.com> wrote in message
news:961CDCBC-6AE3-497A...@microsoft.com...

> Well, I wish it was that easy, corrected the space as you suggested, here is the error...
> It really seems to be a problem with the watcher, but what do I know???
>
> Henry
>>>>>
> Open an application to trigger an Event.
>
> Unhandled Exception: System.Management.ManagementException: Invalid class
> at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStat
> us errorCode)
> at System.Management.ManagementEventWatcher.WaitForNextEvent()
> at ManagementEvents1.Program.WriteToEventLog() in I:\Projects\ManagementEvent
> s1\ManagementEvents1\Program.cs:line 29
> at ManagementEvents1.Program.Main(String[] args) in I:\Projects\ManagementEve
> nts1\ManagementEvents1\Program.cs:line 14
> Press any key to continue . . .
>

Sorry missed this one...

_InstanceCreationEvent
should be:
__InstanceCreationEvent

notice the double underscore!

Willy.

Willy Denoyette [MVP]

unread,
Apr 10, 2007, 5:53:35 AM4/10/07
to
"Chris Mullins [MVP]" <cmul...@yahoo.com> wrote in message
news:OLz5nbte...@TK2MSFTNGP06.phx.gbl...


Chris, a have an archive of samples, I just have to clean them up and add some comments, I
will save some time to do this and keep you informed here.
As for the FAQ, I keep some inter-company kind of Knowledge Base articles, but I'm afraid I
can't publish them as they are, I will see what I can do to turn this stuff into some
publically available FAQ .

Willy.


Henry

unread,
Apr 10, 2007, 12:19:59 PM4/10/07
to
Yes, thanks for the excellent help, and I did find the WMI Creator, it is a
great help for finding proper syntax...

Again Thanks

Henry

<majl...@gmail.com> wrote in message
news:1176192862.4...@d57g2000hsg.googlegroups.com...

0 new messages