You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenNETCF/C#获取Windows CE设备信号强度时触发InvalidCastException

Windows CE设备通过OpenNETCF获取信号强度触发InvalidCastException的解决方法

问题描述

我在全网搜索后仍未找到合适方案,需要通过OpenNETCF用C#获取Windows CE设备的信号强度,尝试了以下代码:

string x = "";
var adapters = OpenNETCF.Net.NetworkInformation.WirelessNetworkInterface.GetAllNetworkInterfaces();
foreach (WirelessNetworkInterface adapter in adapters)
    x = adapter.SignalStrength.Decibels.ToString();
label1.Text = x;

Visual Studio编译无错误,但在设备上运行时抛出Invalid Cast Exception。

补充堆栈跟踪

MYapp OpenNETCF.exe InvalidCastException at
MYapp_OpenNETCF.Form1.button1_Click(Object sender, EventArgs e) at
System.Windows.Forms.Control.OnClick(EventArgs e) at
System.Windows.Forms.Button.OnClick(EventArgs e) at
System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam) at
System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam) at
Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain) at System.Windows.Forms.Application.Run(Form fm) at
MYapp_OpenNETCF.Program.Main()

解决方案

问题根源

WirelessNetworkInterface.GetAllNetworkInterfaces()返回的是设备上所有类型的网络接口(包括有线网卡、蓝牙等非无线接口),直接将这些接口强制转换为WirelessNetworkInterface会触发类型转换异常。

修改后的代码

方法1:类型判断后转换

string x = "";
var adapters = OpenNETCF.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
foreach (var adapter in adapters)
{
    // 仅处理无线网卡接口
    if (adapter is WirelessNetworkInterface wirelessAdapter)
    {
        x = wirelessAdapter.SignalStrength.Decibels.ToString();
        break; // 取第一个无线网卡的信号强度,可根据需求调整逻辑
    }
}
label1.Text = x;

方法2:用OfType筛选无线接口

string x = "";
var wirelessAdapters = OpenNETCF.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
    .OfType<WirelessNetworkInterface>();
foreach (var adapter in wirelessAdapters)
{
    x = adapter.SignalStrength.Decibels.ToString();
    break;
}
label1.Text = x;

额外说明

  1. 改用NetworkInterface.GetAllNetworkInterfaces()获取全量接口,再筛选无线类型,避免强制转换错误。
  2. 如果设备存在多个无线网卡,可通过adapter.Name等属性匹配目标接口,调整循环逻辑。

内容的提问来源于stack exchange,提问作者crooked_nose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:55:12