首先,这是背景:
我们有一个Windows Forms应用程序(用C#编写,.NET Framework 3.5),目前在完整的Windows 7平板电脑上运行,这些平板电脑内置了一个用于数据连接的3G模块.数据连接在Windows中配置为普通移动宽带连接(因此Windows管理连接本身),并且连接显示在控制面板中>网络和互联网>网络连接,它工作正常 – 应用程序能够通过互联网与我们的Web服务进行通信.我们将在未来的某个时刻转移到不同的设备(可能是完整的基于Windows 8的平板电脑).
现在,我需要做的是阅读这个移动宽带连接的连接状态;即获得信号强度和操作符名称(例如Vodafone UK).我已经找到了使用Windows 7 SDK的移动宽带API部分(参见here和here)的方法,但这似乎是特定于操作系统的,因为它在Windows 8上不起作用 – 或者至少不适用于Windows 8我有这里的设备.
或者,是否有人知道Windows 8 SDK包含移动宽带API,如我目前正在使用的Windows 7?
提前致谢.
更新 – 我现在已经在一系列不同的Win 7 / Win 8设备上工作了.即使是联想设备也能正常工作.我将发布主要位的示例代码(读取连接状态,配置连接,检查SIM状态)作为答案;烦恼地,代码有点太长了,无法解决问题.
解决方法
Windows 8桌面还提供移动宽带API.
如果您使用的是Windows 8 Metro / RT /任何名称,则需要these WindowsRT APIs(Windows.Connectivity.NetworkInformation等).