如何获取Windows系统中WiFi适配器的易读名称?
获取WiFi适配器的易读名称
你当前的代码通过DeviceInformation.FindAllAsync获取到的Name字段返回的是设备实例名称(常为机器名),而Id是系统内部的设备ID,确实不够直观。要获取WiFi适配器的易读硬件名称,需要将DeviceInformation转换为WiFiAdapter对象,再通过其关联的网络适配器信息获取显示名称。
修改后的代码示例
using Windows.Devices.WiFi; using Windows.Devices.Enumeration; var deviceInfos = await DeviceInformation.FindAllAsync(WiFiAdapter.GetDeviceSelector()); foreach (var deviceInfo in deviceInfos) { // 将DeviceInformation转换为WiFiAdapter对象 var wifiAdapter = await WiFiAdapter.FromIdAsync(deviceInfo.Id); if (wifiAdapter != null) { // 获取易读的适配器名称 string readableName = wifiAdapter.NetworkAdapter.DisplayName; Console.WriteLine($"WiFi适配器: {readableName}"); } }
说明
WiFiAdapter.FromIdAsync方法通过设备ID获取对应的WiFi适配器实例wifiAdapter.NetworkAdapter.DisplayName返回的是适配器的硬件名称,比如“Intel(R) WiFi 6 AX201”这类用户易读的标识- 注意要处理
wifiAdapter为null的情况(比如设备被禁用或无权限访问)
内容的提问来源于stack exchange,提问作者Hyndrix
相关产品推荐
相关产品推荐

