我正在尝试在桌面应用程序中使用 C++/WinRT 枚举系统上的所有设备:
auto devices = winrt::Windows::Devices::Enumeration::DeviceInformation::FindAllAsync().get();
for (int i = 0; i < devices.Size(); i ++)
{
auto device = devices.GetAt(i);
auto props = device.Properties();
if (props.HasKey(L"System.Devices.InterfaceClassGuid")) {
// Get the GUID and print it
}
}
这篇 MSDN 文章指出:
如果未指定 DeviceInformationKind,或者您使用的方法未提供 DeviceInformationKind 参数,则默认种类为 DeviceInterface。
此 MSDN 文章将其System.Devices.InterfaceClassGuid
列为.DeviceInterface
但是,DeviceInformation
返回的所有对象FindAllAsync
都没有System.Devices.InterfaceClassGuid
属性。我在这里做错了什么?