Мне нужно получить список всех файлов на устройстве (телефоне или ПК) в моем универсальном приложении. В МОФ я somesing так:winrt Как получить список файлов с устройства с помощью C#
class Collection {
private StringCollection seachResults;
//find all mp3 files in local storage
private void ScanDrives() {
seachResults.Clear();
string[] drives = Environment.GetLogicalDrives();
foreach (string dr in drives) {
DriveInfo di = new DriveInfo(dr);
if (!di.IsReady) {
//skip if drive not ready
continue;
}
DirectoryInfo rootDir = di.RootDirectory;
WalkDirectoryTree(rootDir);
}
}
private void WalkDirectoryTree(DirectoryInfo root) {
FileInfo[] files = null;
DirectoryInfo[] subDirs = null;
try {
files = root.GetFiles("*.mp3");
} catch (UnauthorizedAccessException e) {
} catch (DirectoryNotFoundException e) {
}
if (files != null) {
foreach (FileInfo fileInfo in files) {
seachResults.Add(fileInfo.FullName);
}
subDirs = root.GetDirectories();
foreach (DirectoryInfo dirInfo in subDirs) {
WalkDirectoryTree(dirInfo);
}
}
}
}
Но когда я пытаюсь перенести это в WinRT приложение, которое я получаю несколько ошибок, как unknown type Drive
и unexisted method Environment.GetLogicalDrives()
.
Может ли кто-нибудь сказать, как это сделать в winRT?
Environment.GetLogicalDrives(); Я работаю только в win32 или win64. Вы пробовали GetLogicalDrives() системы System.IO? – ApolloSoftware