使用 Windows.Devices.Enumeration 中的 DeviceID 在 C# Windows 10 IoT Core 中查找可移动驱动器 (USB) 的驱动器号?
Using DeviceID from Windows.Devices.Enumeration to find the Drive Letter of a Removable Drive (USB) in C# Windows 10 IoT Core?
我正在尝试扫描插入 Raspberry Pi 运行 Windows 10 IoT Core 的 USB 驱动器以查找特定文件夹中的特定文件。我目前能够使用 Windows.Devices.Enumeration.DeviceWatcher 检测何时从设备添加或删除 USB 驱动器,并且也可以使用它找到 DeviceId。我使用 DeviceEnumerationAndPairing 演示项目完成了此操作。我知道 StorageDevice.FromId() 通常适用于此,但它似乎不同意 Windows 10 IoT Core。我也曾尝试使用 KnownFolders.RemovableDevices 在添加设备时循环遍历所有设备,但这总是会立即使应用程序崩溃。我希望能够使用 DeviceId 找到 USB 设备的驱动器盘符,然后检查驱动器是否为空,如果没有,则在该设备中导航到我希望存在的目录和文件。
在此先感谢您的帮助!
您可以在 DeviceEnumerationAndPairing 演示项目的场景 2 中的 handlerAdded()
中添加以下代码行。
var removableDevices = KnownFolders.RemovableDevices;
// Get all driver letters
var folders = await removableDevices.GetFoldersAsync();
if (folders.Count > 0)
{
foreach (StorageFolder folder in folders)
{
System.Diagnostics.Debug.WriteLine(folder.Name);
// Check the driver letter is empty or not.
var items = folder.GetItemsAsync();
if (items == null)
{
System.Diagnostics.Debug.WriteLine("There are no files and folders.");
}
}
}
同时,您需要声明您要访问的文件类型Capability
,例如图片,您可以在Package.appxmanifest中添加以下行。
这对我有用。希望对你有所帮助。
<uap:Capability Name="picturesLibrary" />
我正在尝试扫描插入 Raspberry Pi 运行 Windows 10 IoT Core 的 USB 驱动器以查找特定文件夹中的特定文件。我目前能够使用 Windows.Devices.Enumeration.DeviceWatcher 检测何时从设备添加或删除 USB 驱动器,并且也可以使用它找到 DeviceId。我使用 DeviceEnumerationAndPairing 演示项目完成了此操作。我知道 StorageDevice.FromId() 通常适用于此,但它似乎不同意 Windows 10 IoT Core。我也曾尝试使用 KnownFolders.RemovableDevices 在添加设备时循环遍历所有设备,但这总是会立即使应用程序崩溃。我希望能够使用 DeviceId 找到 USB 设备的驱动器盘符,然后检查驱动器是否为空,如果没有,则在该设备中导航到我希望存在的目录和文件。
在此先感谢您的帮助!
您可以在 DeviceEnumerationAndPairing 演示项目的场景 2 中的 handlerAdded()
中添加以下代码行。
var removableDevices = KnownFolders.RemovableDevices;
// Get all driver letters
var folders = await removableDevices.GetFoldersAsync();
if (folders.Count > 0)
{
foreach (StorageFolder folder in folders)
{
System.Diagnostics.Debug.WriteLine(folder.Name);
// Check the driver letter is empty or not.
var items = folder.GetItemsAsync();
if (items == null)
{
System.Diagnostics.Debug.WriteLine("There are no files and folders.");
}
}
}
同时,您需要声明您要访问的文件类型Capability
,例如图片,您可以在Package.appxmanifest中添加以下行。
这对我有用。希望对你有所帮助。
<uap:Capability Name="picturesLibrary" />