In order to get this code to run you will need to add two nugget packages - I had to add older version from the package manager console as the latest version wouldn't install on my antediluvian VS 2012:
Install-Package WindowsAPICodePack-Core -Version 1.1.2
Install-Package WindowsAPICodePack-Shell -Version 1.1.1
Below is some code to list all the properties:
using Microsoft.WindowsAPICodePack.Shell;
private void ListExtendedProperties(string filePath)
{
var file = ShellObject.FromParsingName(filePath);
var i = 0;
foreach (var property in file.Properties.DefaultPropertyCollection)
{
var name = (property.CanonicalName ?? "unnamed-[" + i + "]").Replace("System.", string.Empty);
var t = Nullable.GetUnderlyingType(property.ValueType) ?? property.ValueType;
var value = (null == property.ValueAsObject)
? string.Empty
: (Convert.ChangeType(property.ValueAsObject, t)).ToString();
var friendlyName = property.Description.DisplayName;
Console.WriteLine(i++ + " " + name + "/" + friendlyName + ": " + value);
}
}