UWP 通用应用程序上设备的驱动器号

Drive Letter of Devices on UWP Universal Aplication

var myDevices= await Windows.Devices.
    Enumeration.DeviceInformation.
    FindAllAsync(Windows.Devices.Enumeration.DeviceClass.PortableStorageDevice);

foreach(var x in myDevices)
{
    string s = string.Format("Kind:{0} Name:{1} Id:{2})",
        x.Kind.tostring(), x.Name, x.Id);
    listbox1.items.add(s);
}

这是我的示例代码。是否可以检测到 属性 我可以访问 myDevices 对象项的驱动器? (类似于 D:\ 或 E:\ 等)。甚至我可以在 windows IOT 仪表板中看到驱动器号 (不知道这是否有意义,但平台是 rasperry pi3 上的 IOT)

找到 this 篇关于 Windows 8 的文章,也许它仍然适用于您的情况?基本上它说您可以通过两种方式将设备作为文件夹获取:

  • KnownFolders.RemovableDevices with StorageFolder 每个设备的对象,可用于确定路径
  • 通过 Windows.Devices.Portable.StorageDevice.FromId(device.Id); 为您在 myDevices
  • 中找到的每个设备获取 StorageDevice 和 DeviceInformation

Access the SD card article on MSDN also mentions the StorageFolder class 作为获取路径信息的一种方式。

旁注:您可以使用字符串插值来简化字符串构造:

string s = $"Kind:{x.Kind} Name:{x.Name} Id:{x.Id})";