- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用 iPropertyStorage 读取文件的属性(如标题、作者、页数等)?任何人都知道 C# 中的代码,请发布它
其实,
我正在尝试以编程方式(使用 c#)读取文件属性(标题、摘要、作者、评论等......当您看到文件的属性时显示在“摘要”选项卡上的内容)。
FileInfo 和 FileSystemInfo 类仅公开标准属性(创建时间、修改时间等),因此我正在尝试使用 ipropertyStorage。任何知道解决方案的人都会有帮助。
最佳答案
像这样的 Shell 编程总是很难做到。不过,您在这方面有机会,shell32.dll 有一个可从 COM 客户端调用的自动化接口(interface)。 ShellFolderItem::ExtendedProperty 属性使它们可用。您将需要一个 WPF 或 Windows 窗体项目,以便正确初始化 COM。使用项目 + 添加引用,浏览选项卡,选择 c:\windows\system32\shell32.dll。此示例代码读取 c:\temp\test.txt 文件的 Author 属性:
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 中.
关于c# - 如何使用 IpropertyStorage 读取文件的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2265759/
如何使用 iPropertyStorage 读取文件的属性(如标题、作者、页数等)?任何人都知道 C# 中的代码,请发布它 其实, 我正在尝试以编程方式(使用 c#)读取文件属性(标题、摘要、作者、评
根据 IPropertyStorage::WriteMultiple Method 的备注部分... When a new property set is created, the special c
我是一名优秀的程序员,十分优秀!