Я написал функцию, которая позволяет мне получить все свойства любого файла.
Эта функция работает даже в папках.Как получить информацию о корневом диске с помощью пакета кода Windows API?
Но я упомянул, что без «кода Windows API Code Pack» и с помощью «Shell32» вы можете получить около 308 свойств любого файла.
Shell32.Shell shell = new Shell32.Shell();
shell.NameSpace(@"C:\_test\clip.mp4").GetDetailsOf(null, i); // i = 0...320
Однако, используя «Код кода Windows API», в коллекции «DefaultPropertyCollection» имеется только 56 объектов.
Например, в этой коллекции нет свойства «Рейтинг».
Тогда я понял, что вместо «shellFile.Properties.DefaultPropertyCollection» Я должен смотреть в «shellFile.Properties.System»
private void GetFileDatails(string path)
{
var shellFile = ShellFile.FromParsingName(path);
textBox1.Text += shellFile.Properties.DefaultPropertyCollection.Count + "\r\n";
shellFile.Properties.DefaultPropertyCollection.ToList().ForEach(el => textBox1.Text += el.Description.CanonicalName + " - " + el.Description.DisplayName + " = " + el.ValueAsObject + "\r\n");
textBox1.Text += "\r\n" + shellFile.Properties.System.Rating;
}
поименный это правда!
Но как вы можете получить все остальные более 200 свойств любых файлов, используя эту «shellFile.Properties.System»?
Это даже не коллекция! Это не IEnumerable! Вы не можете использовать цикл foreach!
Вы всегда должны ввести
"shellFile.Properties.System.*" //you should type this line more then 100 times
Во всяком случае, я не могу получить информацию корень диска также!
Либо использовать «Код кода Windows API», либо использовать «Shell32» Я не могу получить «DriveFormat» любого раздела! Пожалуйста! скажите мне, как получить информацию «C Drive»?
Как получить свойство «DriveType» любого диска? Либо это тип «Фиксированный», либо нет? – IremadzeArchil19910311
https://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx – Ben