How can I programmatically refresh Windows Explorer?

Does anyone have any ideas how to do
this better?

Personally I don’t know. You mention the Tortoise programs which do a similar thing, so an excellent starting point would be to have a look at what they do in their source 🙂

These look to be the relevant source files that handle this problem:

I note in the RebuildIcons method in each of those will:

  1. set the shell icon size or colour depth to a temporary value
  2. updates all the windows by broadcasting the setting change
  3. resets the shell icon size or colour depth to the original value
  4. updates all the windows a second time with a broadcast of the setting change

Perhaps this is part of the trick to get things working in XP.

Leave a Comment