8

我正在尝试在各种文件的图标上添加不同的图标覆盖(注意:不是某种类型的所有文件,只是某些文件)。如果您不明白我的意思,我指的是 TortoiseSVN、TortoiseHG、Dropbox 等程序的功能。

这可以在.NET中完成吗?如果是这样,怎么做?我希望那里有一个图书馆。我发现这篇 CodeProject 文章是这样的,但它不是 .NET。

提前致谢。

4

1 回答 1

5

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

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

于 2010-03-23T00:07:50.433 回答