Thanks Michiel - it worked just fine.
Just in case anyone else wants to know, here's the source for reading out
the current signal strength on the last wireless lan adapter installed (in
case you have more than 1). Anyway, the source can be easily changed.
int GetSignalStrength()
{
ManagementObjectSearcher *searcher = new ManagementObjectSearcher(
"root\\WMI",
"select Ndis80211ReceivedSignalStrength from
MSNdis_80211_ReceivedSignalStrength where active=true");
ManagementObjectCollection *queryCollection = searcher->Get();
ManagementObjectCollection::ManagementObjectEnumerator* queryEnum =
queryCollection->GetEnumerator();
while (queryEnum->MoveNext());
ManagementBaseObject* object = queryEnum->get_Current();
Object* signalStrength =
object->GetPropertyValue(L"Ndis80211ReceivedSignalStrength");
return (Convert::ToInt32(signalStrength->ToString()));
}
Best regards
rainer
[quoted text, click to view] "Michiel" <michielGEEN@RECLAMEpayvision.com> wrote in message
news:%23M0wqs59DHA.1816@TK2MSFTNGP12.phx.gbl...
>
> "Rainer Sinsch" <nospam@please.com> wrote in message
> news:c12fgf$seq$1@mail1.sbs.de...
> > Hi everyone,
> >
> > I'm relatively new to managed c++ (though experienced in unmanaged c++),
> but
> > I just can't figure out how to do the following c-sharp lines in managed
> c++
> > (studio 2003). Can anyone enlighten me, please?
> >
> > Following is a simple C-Sharp-Source for reading out wireless lan
> > signal-strength:
> >
> > using System;
> > using System.Management;
> > class App
> > {
> > public static void Main()
> > {
> > ManagementObjectSearcher searcher = new ManagementObjectSearcher(
> > @"root\WMI",
> > "select Ndis80211ReceivedSignalStrength from
> > MSNdis_80211_ReceivedSignalStrength where active=true");
> > foreach (ManagementObject mo in searcher.Get())
> > {
> > Console.WriteLine("{0}",mo["Ndis80211ReceivedSignalStrength"]);
> > }
> > }
> > }
> >
>
> ManagementObjectSearcher.Get returns ManagementObjectCollection.
> ManagementObjectCollection.GetEnumerator returns
ManagementObjectEnumerator.
> and then while(ManagementObjectEnumerator.MoveNext())
> ManagementObjectEnumerator.Current returns ManagementBaseObject, of which
> ManagementObject is derived.
>
>