.NET:如何创建文件图标叠加层

时间:2010-03-22 23:51:19

标签: c# .net windows icons windows-explorer

我正在尝试在各种文件的图标上添加不同的图标叠加(注意:不是某种类型的所有文件,只是某些文件)。如果你不理解我的意思,我指的是TortoiseSVN,TortoiseHG,Dropbox等程序。

这可以在.NET中完成吗?如果是这样,怎么样?我希望那里有一个图书馆。我找到this CodeProject article这样的东西,但它不是.NET。

提前致谢。

1 个答案:

答案 0 :(得分:5)

不,这不是.NET。 Shell编程属于非托管C / C ++领域。 Shell32.dll有一个类型库,它使一些函数可用于脚本语言和.NET。但是IShellIconOverlay接口继承自IUnknown,脚本无法访问。这在技术上是可行的,但您必须使用SDK的ShlObj.h头文件中的声明作为模板,在C#中重新声明接口。可能有人在某处做过,但尝试使其工作并不常见。快速谷歌搜索没有任何用处。

希望.NET 4.0能够恢复一些活动,解决CLR版本注入问题。我还没有看到它的迹象。