【发布时间】:2021-09-21 23:31:04
【问题描述】:
我尝试按照MSDN 中的说明在uwp 中连接USB 设备,但是我无法连接到USB 设备并且总是从UsbDevice.FromIdAsync() 中获取null。 我看过关于这个问题的可能问题和答案herehere
但没有什么能解决我的问题。任何帮助将不胜感激。
这些是我正在尝试的代码 sn-p。相同的代码 sn-p 可用于 .Net 标准应用程序。但不适用于 UWP。
UsbDevice device = null;
string HPVID = "1008";
string pid = "9812";
try
{
Task.Run(async () =>
{
var aqsFilter = "System.Devices.InterfaceEnabled:= System.StructuredQueryType.Boolean#True " + "AND System.DeviceInterface.WinUsb.UsbVendorId:=" + HPVID +
"AND System.DeviceInterface.Winusb.UsbProductId:=" + pid;
DeviceInformationCollection deviceInterface = await DeviceInformation.FindAllAsync(aqsFilter);
if (deviceInterface.Count > 0)
{
device = await UsbDevice.FromIdAsync(deviceInterface[0].Id);
}
}).Wait();
}
【问题讨论】:
-
你有没有在项目清单文件中添加DeviceCapability,比如this。
-
谢谢@NicoZhu-MSFT。我已根据您的评论编辑了 Package.appxmanifest,它对我有用。我正在尝试通过 USB 连接打印机。真的我想知道
的实际含义。以及我需要给出什么价值。我是 UWP 和 USB 连接的新手,如有任何问题,请见谅 -
我在下面添加了答案,请查看。
-
@NicoZhu-MSFT 感谢您的帮助,winusb 通信工作正常。我还有一个疑问,如果winusb接口不可用,我需要通过REST接口与USB设备通信。如何通过 REST 接口实现 USB 通信。任何帮助将不胜感激。