.NET:如何创建文件图标覆盖
Posted
技术标签:
【中文标题】.NET:如何创建文件图标覆盖【英文标题】:.NET: How Do I Create File Icon Overlays 【发布时间】:2011-01-30 14:16:16 【问题描述】:我正在尝试在各种文件的图标上添加不同的图标覆盖(注意:不是某种类型的所有文件,只是某些文件)。如果您不明白我的意思,我指的是 TortoiseSVN、TortoiseHG、Dropbox 等程序的功能。
这可以在 .NET 中完成吗?如果是这样,怎么做?我希望那里有一个图书馆。我找到了 this CodeProject article 类似的东西,但它不是 .NET。
提前致谢。
【问题讨论】:
试试这个codeproject.com/Articles/545781/… 【参考方案1】:不,它不是 .NET。 Shell 编程属于非托管 C/C++ 领域。 Shell32.dll 有一个类型库,它使某些函数可用于脚本语言和.NET。但是 IShellIconOverlay 接口继承自 IUnknown,脚本无法访问。这在技术上是可行的,但您必须在 C# 中重新声明接口,使用 SDK 的 ShlObj.h 头文件中的声明作为模板。可能有人在某个地方做过,但尝试让它发挥作用并不常见。快速的 Google 搜索没有任何用处。
希望 .NET 4.0 能够恢复一些活动,解决 CLR 版本注入问题。我还没有看到它的迹象。
【讨论】:
那么 .NET 4.0 已经出来了,现在有可能吗? 这从来不是不可能。自从我发布此内容后没有任何变化,.NET 4.0 并没有恢复活动。可能是因为微软宣布它不受支持。 .NET 很好地支持所有这些功能,我几乎完成了所有标准扩展的实现,图标覆盖在这里:codeproject.com/Articles/545781/…以上是关于.NET:如何创建文件图标覆盖的主要内容,如果未能解决你的问题,请参考以下文章