从explorer.exe的shell扩展更改文件的显示信息(如名称)

时间:2013-07-01 00:44:41

标签: c# windows-shell

我目前正在使用中文SMB服务器,几乎所有公司文件都存储在该服务器上。 由于结构没有改变,我希望能够根据规则(允许我处理生成的文件,包括日期)在文件上放置“标签”。 我只需要支持win7及更高版本,我希望从文本文件中读取我的信息,而不是依赖于某些元数据或客户端数据。

所以我想写一个shell扩展来完成这项工作。我的问题是,通过查看the documentation,我找不到允许我更改名称的内容。到目前为止,我发现的最佳解决方案是使用the infotip handler,但我想知道是否有人有更好的方法来做到这一点。

简而言之,它需要:

1)与win7(及以上)兼容,

2)一见钟情

3)使用readonly fs

1 个答案:

答案 0 :(得分:2)

经过广泛的研究,我发现最好的方法是写一个Shell Namespace extension

我将能够提供一个代表我服务器结构的虚拟目录,并按照我想要的方式翻译名称。

这看起来有点矫枉过正,但没有其他方法可以更改显示的信息,因为显示名称由IShellFolder管理,并将其提供给IShellView

我发现的一个很好的信息来源,到目前为止最新的信息来源是an article on Michael Edenfiled's blog