Windows Shell的属性系统定义了一个名为
我如何在C#中访问此Windows属性?
System.Video.FrameRate
(文档在这里)的标准属性,可用于大多数视频文件。周围的文档仅涵盖获取这些值的非托管API。我如何在C#中访问此Windows属性?
System.Video.FrameRate
(文档在这里)的标准属性,可用于大多数视频文件。周围的文档仅涵盖获取这些值的非托管API。ShellObject obj = ShellObject.FromParsingName(@"D:\Video\IanAndDeborahTree.mp4");
ShellProperty<uint?> rateProp = obj.Properties.GetProperty<uint?>("System.Video.FrameRate");
Debug.WriteLine("{0:G3}FPS", rateProp.Value/1000.0);
int
的属性,它会失败,表明没有这样的属性可用。因此,你必须选择uint?
。你真的应该检查一下属性是否真的存在 - 我在这里不麻烦是因为我知道它肯定存在。Microsoft.WindowsAPICodePack.dll
和 shell 程序集 Microsoft.WindowsAPICodePack.Shell.dll
。 - Ian Griffiths