如何从Windows文件属性对话框的详细信息选项卡中获取信息?
本文关键字:选项 获取 信息 详细信息 Windows 文件属性 对话框 | 更新日期: 2023-09-27 18:01:39
如果你在Windows资源管理器中右键单击一个文件并选择属性,会弹出一个包含大量信息的对话框。我如何使用c#访问这些信息?
具体来说,我正在寻找Details选项卡上的信息。我主要处理的是图片,所以"拍摄日期"很重要。我还将处理其他文件,因此如果有一种方法可以获取与该文件关联的元数据就太好了。
我看到的地方提到使用Shell32.dll来获取此信息,但当我试图引用此库时,我会得到错误。有没有其他方法可以做到这一点,也许通过P/Invoke?
在弄乱了一点之后,这里是一个非常有限的如何获取图像元数据的示例。
var image = System.Drawing.Image.FromFile(@"C:'your'image'here");
foreach (var a in image.PropertyItems)
{
dynamic value;
switch (a.Type)
{
case 2:
value = Encoding.ASCII.GetString(a.Value);
break;
case 3:
value = BitConverter.ToInt16(a.Value, 0);
break;
case 4:
value = BitConverter.ToInt32(a.Value, 0);
break;
default:
value = "NaN";
break;
}
Console.WriteLine("Type: {0} 'r'n Value: {1}", a.Type, value);
}
你可以在微软的网站上找到更多的信息,并在Image Metadata规范上搜索自己完整地编写一个。
总是可以选择使用第三方库来处理这个问题,但是我自己在图像领域没有做太多的工作。
您尝试过FileSystemInfo类吗?
http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.aspx您可以使用File
类方法来实现此目的:
File.GetCreationTime(filename)
File.GetLastWriteTime(filename)
File.GetLastAccessTime(filename)
//and many more in the intellisense