解决方法
Tigris的
TortoiseSVN产品大量使用由几个Tortoise产品共享的库提供的图标覆盖,覆盖层本身是用C而不是C#编写的.
@H_502_2@documentation for the TortoiseOverlays project解释了他们如何使用它以及他们遇到的问题(用户名:访客,空密码),以及GPL的源代码在Subversion repository(与上面相同的用户名/密码).
@H_502_2@来自文档的Snippit:
@H_502_2@TortoiSEOverlays registers itself with the explorer to handle the nine states mentioned above,i.e. it registers nine overlay handlers. The explorer process initializes the TortoiSEOverlays handler,calling its IShellIconOverlayIdentifier::GetOverlayInfo(). TortoiSEOverlays looks for the registered overlay handlers under HKLM\Software\TortoiSEOverlays\Statusname and calls their GetOverlayInfo() method so they can initialize too (Note that any change to the icon name,index,… your handler does are overwritten later and won’t be used – it’s TortoiSEOverlays that handles the icons now). After the initialization,TortoiSEOverlays relays every call to its IShellIconOverlayIdentifier::IsMemberOf() method to the other handlers. The first handler that returns S_OK determines whether the icon is shown or not.