像這樣的shell編程總是很難做到。儘管如此,shell32.dll有一個可從COM客戶端調用的自動化接口。 ShellFolderItem :: ExtendedProperty屬性使它們可用。您需要一個WPF或Windows Forms項目,以便COM正確初始化。使用項目+添加引用,瀏覽選項卡,選擇c:\ windows \ system32 \ shell32.dll。此示例代碼讀取C的作者屬性:\ TEMP \ test.txt文件:
Shell32.Shell shl = new Shell32.ShellClass();
Shell32.Folder dir = shl.NameSpace(@"c:\temp");
Shell32.FolderItem itm = dir.Items().Item("test.txt");
Shell32.ShellFolderItem itm2 = (Shell32.ShellFolderItem)itm;
string prop = (string)itm2.ExtendedProperty("{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 4");
Console.WriteLine(prop);
,你可以使用屬性ID(PID)值在這個SDK article被記錄在案。
您還可以使用規範名稱,該名稱比FMTID更具可讀性。在這裏,你會要求「System.Author」擴展屬性。 –
msdn.microsoft.com/en-us/library/windows/desktop/...這是列表中的媒體類型的公共屬性的名稱,以防其他人查看:) – spaceman