Shell Overlay Icon not always appearing in Win 7
I've written a shell extension that implements the IShellIconOverlayIdentifier
interface to give overlays on icons in Explorer. On a 32-bit WinXP machine, everything runs fine. When I build it for 64-bit Win7, the overlay only appears in the folder sidebar in explorer and now开发者_如何学JAVAhere else.
The strange thing is, when I have the IsMemberOf
function output the file names being passed to it, I can see that every file is being passed to it, from both the main Explorer window and the Desktop, and the function returns a value indicating the overlay should be present. However, nothing shows up. Has anyone run into something like this before? I'm not sure if I'm missing something in the registry or what.
Thanks in advance!
The maximum number of overlay icons may be limited under 15. I know three overlays are reserved for system usage. Check the following path of registry:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
I'm sure that you will notice where your overlay icon handler is placed.
It seems I've fixed the issue. I knew there is a hard limit of 16 overlays for a system, and having it in position number 11, which I've read is the limit to overlays above what windows uses to begin with, caused this strange behavior.
精彩评论