我想在“文件”->“属性”下的“详细信息”选项卡中获取Windows能够获取的属性列表。
我已经阅读了几篇关于此的旧文章,但不知道是否有现代的方法可以做到这一点。有没有新的方法可以做到这一点?请注意,我已经在要读取的mp3中添加了自定义标签,某些库(如TagCSharp)无法读取,但Windows可以读取。
我已经尝试使用WindowsAPICodePack,但我不知道如何读取所有标签,而不仅是默认标签。
我也阅读了这篇文章 How do I get details from File Properties? 但是我还没有找到在.net中实现的任何方法
答案 0 :(得分:1)
有几种方法。
一个简单的方法就是使用Shell。
测试mp3文件(Windows 10,C#,VS 2015)=>
logger = Logger()
logger.log_info("This is a log message")
我得到了第一个属性(法语)=>
// Add Reference Shell32.DLL
string sFolder = "e:\\";
string sFile= "01. IMANY - Don't Be so Shy (Filatov & Karas Remix).mp3";
List<string> arrProperties = new List<string>();
Shell objShell = new Shell();
Folder objFolder;
objFolder = objShell.NameSpace(sFolder);
int nMaxProperties = 332;
for (int i = 0; i < nMaxProperties; i++)
{
string sHeader = objFolder.GetDetailsOf(null, i);
arrProperties.Add(sHeader);
}
FolderItem objFolderItem = objFolder.ParseName(sFile);
if (objFolderItem != null)
{
for (int i = 0; i < arrProperties.Count; i++)
{
Console.WriteLine((i + ('\t' + (arrProperties[i] + (": " + objFolder.GetDetailsOf(objFolderItem, i))))));
}
}