[python-win32] killing overlay extensions
mail at timgolden.me.uk
Tue Jul 8 10:24:04 CEST 2008
Mark Hammond wrote:
>> The debugging trace suggests that IsMemberOf are called after
>> GetOverlayInfo, which itself is called when Explorer starts up.
> That is correct - GetOverlayInfo is called just once per process IIUC.
> Having this function fail should prevent your IsMemberOf being called - but
> once it has been successfully called, you are in the same position you are
Sorry. Both of you are quite right, of course. I'd forgotten that
each overlay handler only handles one icon overlay.
I must say, the design of this particular extension from the Windows
point of view makes for relatively inefficient handlers. Every overlay
handler is called for every icon, and it's up to each handler to return
"No" as fast as it can if it's not interested. Would be useful if you could
establish a handler on a per-filetype basis (with the usual fallback of
the * to handle all types). Although that obviously wouldn't help on
things like svn/hg which have to stat around a bit and look at their
context to establish applicability.
Tk Soh - do you find, even if the IsMemberOf does nothing
but return its "No" value, that Explorer still slows down?
More information about the python-win32