Kle*_*lee 2 c# wireless compact-framework windows-mobile-5.0 opennetcf
我在使用OpenNetCF 2.3版的C#,Compact Framework 3.5,Windows Mobile 5项目中获得无线信号强度时遇到了困难.我的目标是在发送请求之前评估网络访问的强度,因为此设备的网络覆盖可能不完整.
在谷歌周围后,我找到了两个可能的线索.Microsoft的一个示例项目,它使用AccessPoint在OpenNETCF 2.3中标记为已弃用的now 类,以及一些建议SignalStrength在WirelessNetworkingInterface类上使用该属性的建议.这似乎是理论上的一个好主意但是工厂方法似乎应该返回此类OpenNETCF.Net.NetworkInformation.WirelessNetworkInterface.GetAllNetworkInterfaces()而不是返回INetworkInterface不暴露SignalStrength属性的类.
有没有人设法使用OpenNETCF 2.3评估无线强度?我不明白这个包的正确用法吗?或者有没有人为此问题制定了解决方案?
任何指导或帮助都非常有用.
GetAllNetworkInterfaces()返回一个INetworkInterface接口数组,因为您可能(并且经常会)在同一设备上具有不同的具体类型.问题是您为无线网卡获取的实例类型是什么?它将是a NetworkInterface,a WirelessNetworkInterface或a WirelessZeroConfigNetowrkInterface.您可以将接口版本转换为具体类型,然后获得信号强度,前提是它是一种公开该信息的类型.
foreach (var ni in NetworkInterface.GetAllNetworkInterfaces())
{
var wzc = ni as WirelessZeroConfigNetworkInterface;
if(wzc != null)
{
Debug.Writeline("WZC Signal: " + wzc.SignalStrength.Decibels);
continue;
}
var wni = ni as WirelessNetworkInterface
if(wni != null)
{
Debug.Writeline("Wireless Signal: " + wni.SignalStrength.Decibels);
continue;
}
Debug.Writeline("No signal info available");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4995 次 |
| 最近记录: |