我们有一个专有的文件格式,其中嵌入了一个product-code
。
我刚刚开始“使最终用户能够在打开文件时按 product-code
排序/过滤”的路径。
对我们来说,最简单的方法可能是在我们自定义的“打开文件”对话框中简单地添加另一个下拉菜单,在其中选择一个 product-code
作为过滤依据。
但是,我认为如果我们可以将此信息显示为该文件类型的详细信息 View 中的一列,我认为这对最终用户可能更有用——就像名称、修改日期、类型、大小等一样,也是文件类型的详细属性(或者可能是所有文件的通用属性)。
我的模糊理解是 XP 和之前的 Windows 操作系统在 NTFS 的备用数据流中嵌入了某种元数据。但是,从 Vista 开始,Microsoft 停止使用备用数据流,因为它们依赖于 NTFS,因此存在脆弱性(即无法通过文件附件发送,无法移动到 FAT 格式的拇指驱动器等)
我需要知道但还没有弄清楚的事情:
- 是否可能/是否可行/如何为我们的文件类型创建自定义扩展文件属性,将
product-code
表达到 Windows shell,以便它可以在 Windows 资源管理器中看到(以及因此文件对话框)? - 如果可行,那么如何进行配置,以便默认为包含我们的文件类型的文件夹显示
product-code
列。
任何人都可以为我指出上述内容的良好起点吗?我们当然不必通过发布自定义扩展文件属性来实现此目的 - 但是这似乎是一种明智的方法,因为没有任何方法可以衡量走这条路的成本。
如果您有解决问题的明智替代方法,我也会对这些方法感兴趣!
刚刚找到:http://www.codeproject.com/Articles/830/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens
废话!看来我来晚了,MS 已经从他们的 shell 中删除了这个功能:http://xpwasmyidea.blogspot.com/2009/10/evil-conspiracy-behind-customizable.html
最佳答案
到目前为止,开发 shell 扩展的最简单方法是使用为此目的而创建的库。
我可以推荐EZShellExtension因为我过去曾使用它为我们公司的自定义文件格式添加列和缩略图/预览。
关于c++ - 如何在 Windows 中创建扩展(自定义)文件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364301/