Me gustaría resucitar este hilo para aportar un detalle útil en este tema, al menos para mi.
Código:
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
Que propuso cHackAll funciona muy bien, pero al actualizar el explorador, borra los ListView y los reescribe, con lo que el efecto visual de "apagón" o "parpadeo" no es muy elegante en máquinas lentas, aunque muy efectivo.
He traceado los mensajes del explorador y he visto dos cosas interesantes:
1º Al pulsar F5 se genera un mensaje WM_COMMAND LPARAM 0x1A220 LPARAM 0
2º Al elegir la opción de menú ver \ actualizar, se genera un mensaje WM_COMMAND LPARAM 0x0A220 LPARAM 0
Así que:
Código:
PostMessage(HWND_BROADCAST, WM_COMMAND, 0x0A220, 0);
Actualiza inmediatamente el explorador de archivos sin parpadeo, como si lo hiciésemos desde menú o pulsando F5
La pega está en que este sistema es muy dependiente del software del explorador actual y si Microsoft lo cambia dejará de funcionar, así como no funcionará, muy posiblemente, en otros exploradores.
Como curiosidad, me ha parecido interesante publicarlo.
Saludos.