C# Windows.Devices.Enumeration.DeviceInformation中的COM端口号

C# Windows.Devices.Enumeration.DeviceInformation中的COM端口号,c#,uwp,C#,Uwp,有没有办法通过DeviceInformation获取设备的COM端口号?我可以通过设备管理器查看COM端口号 我刚刚遇到了一些设备,它们没有将COM端口号列为Name属性的一部分。我插上了两个插头,无法区分它们。理想情况下,我希望看到一个COM端口。有没有其他方法可以获取这些信息 string _serialSelector = SerialDevice.GetDeviceSelector(); DeviceInformationCollection tempInfo = await Devic

有没有办法通过
DeviceInformation
获取设备的COM端口号?我可以通过设备管理器查看COM端口号

我刚刚遇到了一些设备,它们没有将COM端口号列为
Name
属性的一部分。我插上了两个插头,无法区分它们。理想情况下,我希望看到一个COM端口。有没有其他方法可以获取这些信息

string _serialSelector = SerialDevice.GetDeviceSelector();
DeviceInformationCollection tempInfo = await DeviceInformation.FindAllAsync(_serialSelector);
    if (tempInfo.Count > 0)
    {
        foreach (var efefe in tempInfo)
        {
            if (efefe.Kind.Equals(DeviceInformationKind.DeviceInterface))
            {
                //efefe.Name                     
            }
        }
    }

您已经完成了大部分工作,然后需要使用
efe
的id获取
SerialDevice
对象

以下是演示:

string _serialSelector = SerialDevice.GetDeviceSelector();
var infos = await DeviceInformation.FindAllAsync(_serialSelector);
foreach (var info in infos)
{
    var serialDevice = await SerialDevice.FromIdAsync(info.Id);
    if (serialDevice != null)
    {
        var port = serialDevice.PortName;
        Debug.WriteLine(port.ToString());
    }
}
请不要忘记在清单中添加
DeviceCapability

<DeviceCapability Name="serialcommunication">
  <Device Id="any">
    <Function Type="name:serialPort" />
  </Device>
</DeviceCapability>