Microsoft SerialCommunication 文档站点描述了当前不支持系统内部端口:
Microsoft Docs about windows.devices.serialcommunication
我不明白为什么不这样做,他们将来可能会添加此功能。
一种解决方法是:
C#
使用标准的 .NET System.IO.Ports.SerialPort 类(GetPortNames() 除外),一切都适用于 UWP 6.1.5 的 .NET。作为 GetPortNames 的替代品,您可以 P/Interop 到 GetCommPorts。
C++/winrt
使用新的 Windows 10 RS3/4 API 调用 OpenCommPort。请参阅函数原型的 Windows 头文件,因为此函数当前未在 MS 文档中记录。
请注意,还要确保在您的 .appxmanifest 文件中,您的应用程序“声明”了对串行端口的访问权限:
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>