来自Windows.Devices.Enumeration.DeviceInformation的COM端口号
本文关键字:COM 口号 DeviceInformation Windows Devices Enumeration 来自 | 更新日期: 2023-09-27 18:15:23
是否有办法通过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
}
}
}
您已经完成了大部分工作,然后您需要使用efefe
的id来使用SerialDevice获取SerialDevice
对象。frommidasync | frommidasync方法。
下面是演示:
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());
}
}
请不要忘记在manifest中添加DeviceCapability
:
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>