65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 ExtraPropertiesProvider 类获取文件属性

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (2投票s)

2010年3月24日

CPOL
viewsIcon

11964

ExtraPropertie...

ExtraPropertiesProvider 使用 IShellFolder2 获取文件的属性,因此您无需自行解析即可获取属性。要获取属性,您需要一个文件和一个属性键。可能的(但并非全部)属性键列表可以在
  • 摘要信息 (SummaryInformation)
  • 文档摘要信息 (DocSummaryInformation)
  • 图像摘要信息 (ImageSummaryInformation)
  • 音乐摘要信息 (MusicSummaryInformation)
  • 视频摘要信息 (VideoSummaryInformation)
您还可以使用 GetCollumnInfo() 方法获取特定文件夹中的属性键列表。
string file = "c:\yourpicture.bmp";
string ext = PathEx.GetExtension(file);

string imageFilter = ".jpg,.jpeg,.png,.gif,.bmp,.pcx.tiff";

if (imageFilter.IndexOf(ext) != -1)
  foreach (string key in ImageSummaryInformation.PropertyDic.Keys)
  {
     PropertyKey propKey = ImageSummaryInformation.PropertyDic[key];
     Debug.WriteLine("{0} = {1}", key, ExtraPropertiesProvider.GetProperty(file, ref propKey);
  }
这将返回所有已知属性及其值
foreach (CollumnInfo col in ExtraPropertiesProvider.GetCollumnInfo(file.Parent))
                if (col.CollumnName != "")
                {
                    PropertyKey propKey = col.PropertyKey;
                    object obj = ExtraPropertiesProvider.GetProperty(file, ref propKey);
                    if (obj != null)
                        Console.WriteLine(col.CollumnName + " - " + obj.ToString());
                }
© . All rights reserved.