我找到了使用 C# 从 Outlook *.msg 文件中提取信息的方法,例如发件人、主题、收件人等。
我想将此信息保存为元数据(属性?),可以在 Windows 资源管理器详细信息视图中查看和排序为列。
1:味精文件是否已经具有我可以用于此目的的属性?
2:如果是这样,是否有使用 C# 设置这些属性的简单方法?
3:如果没有,有没有办法为msg文件注册自定义属性,然后以编程方式设置它们?
如果涉及到选项 3,我找到了以下创建 shell 扩展的指南:http: //www.codeproject.com/Articles/830/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens
但是我还没有开始阅读它,因为我不确定它是否有必要,也不确定它是否可以作为解决方案。
谢谢!
[ETA 基于额外研究的一些后续行动]
显然,从 Windows Vista 开始,Windows Explorer 详细视图中显示的所有属性都必须存储在文件本身中。
通过“属性处理程序”可以方便地在 Windows 资源管理器中读取和写入这些属性。
在 Windows XP 中,通过“列处理程序”外壳扩展提供了一个替代选项,它允许将元数据存储在文件之外并在 Windows 资源管理器中作为列查看。这个选项从 Vista 开始就被删除了,可能是因为担心在文件传输或存储在非 NTFS 分区时会丢失与文件相关的元数据。第三方文件管理器 Explorer2 在 Windows Vista 和 7 中仍支持 Windows-XP 样式的列处理程序,但无法在 Windows 资源管理器中查看或编辑此元数据。
据我所知,Outlook *.msg 文件格式在 Windows 7 中默认没有任何与之关联的属性。可以为文件类型编写属性处理程序,但这样做超出了我的技能范围.