icon overlay handler
-
Hi All, I want to display different icon overlays for files and folders depending on their state.I know how to add icon overlay but my problem is how i can add more than one icon overlays .I have searched in groups including this one also but the point was not clear to me. if i want to add different icon overlays like tortoise svn then whether i have to implement different icon overlay handlers (seperate dlls) or it can be done by one executable itself.I have looked in the registry and toroise svn uses 7 different guid for 7 different icon overlays but on having a look on there code http://www.koders.com/cpp/fid177A0F35D08F35B05D2783D4504BF24B4CE88EF2... does not suggest using different executables as i use C# so i did not get how they are doing it.atleast they are not using seperate dlls.any suggestion is most welcome.Thanks. Rakesh
-
Hi All, I want to display different icon overlays for files and folders depending on their state.I know how to add icon overlay but my problem is how i can add more than one icon overlays .I have searched in groups including this one also but the point was not clear to me. if i want to add different icon overlays like tortoise svn then whether i have to implement different icon overlay handlers (seperate dlls) or it can be done by one executable itself.I have looked in the registry and toroise svn uses 7 different guid for 7 different icon overlays but on having a look on there code http://www.koders.com/cpp/fid177A0F35D08F35B05D2783D4504BF24B4CE88EF2... does not suggest using different executables as i use C# so i did not get how they are doing it.atleast they are not using seperate dlls.any suggestion is most welcome.Thanks. Rakesh
in your IShellIconOverlayIdentifier.GetOverlayInfo method you need to return the path to the icon overlay and you should set the flags that prevent it being cached so that each call can return a different path and thus show a different icon. If you read the PSDK docs on the interface it tells you how to do this.
-
in your IShellIconOverlayIdentifier.GetOverlayInfo method you need to return the path to the icon overlay and you should set the flags that prevent it being cached so that each call can return a different path and thus show a different icon. If you read the PSDK docs on the interface it tells you how to do this.
I'm getting confused between IconHandler and IconOverlay aren't i. Handlers let you stop the caching, overlays don't. You get exactly one overlay per object any duplications being handled by the priority flag and call ordering. In order to get a different overlay you should just be able to return a different icon or offset into the icon resource assembly and it'll work. However be aware that the shell only allows a total of 16 overlay icons so if y ou've already got the system ones and the tortoise ones present you may well run out if you use any more.