Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm not having much luck figuring out how Windows Explorer thumbnail icons are generated, or how to modify it.

Is it just a matter of configuring a program to spit out thumbnail images (like ImageMagick with some command line options) and tying it to the file extension in the registry somehow?

Or does it require writing and compiling custom code? If so, what and how? Could a simple wrapper be written that feeds the filename to another program, and then looks for the generated thumbnail image in a pre-designated place?

(I'm asking from an end-user perspective, rather than a programmer's perspective. "How do I generate custom thumbnails on my own computer for certain files with minimal coding?" Otherwise I'd post it on Stack Overflow.)

share|improve this question

You need to write a shell extension that implements IExtractImage and IThumbnailProvider interfaces.

A few examples: [1], [2]

share|improve this answer
The second link mentions "Vista and above OSes have even better API’s" so it would seem to be for XP? – endolith Apr 6 '11 at 19:27
@endolith: Yes... Until XP, IExtractImage was used. Vista uses the simpler IThumbnailProvider interface if the shell extension supports it, otherwise it will fall back to the XP method. – grawity Apr 6 '11 at 19:31
"The IThumbnailProvider interface has been introduced to make providing a thumbnail easier and more straightforward than in the past, when IExtractImage or IExtractImage2 would have been used instead. Note, however, that existing code that uses IExtractImage or IExtractImage2 is still valid under Windows Vista." – endolith Apr 6 '11 at 19:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.