Opdater ikon cache (?) i C#

Tags:    c# cache ikoner shell

Hej alle,

Jeg er pt. i gang med at udvikle en meget simpel C# applikation. Det eneste den skal kunne er at skifte ikonet for den indbyggede papirskurv. At skifte ikonet til mit eget ikon og tilbage igen ved at ændre i registry er intet problem. Problemet er at når jeg har skiftet tilbage til standard-ikonet så "hænger" ikonet en smule. Den skifter fint ikonet tilbage, men når jeg fx. smider noget i papirskurven og den derfor gerne skulle vise den fulde papirskurv bliver den ikke opdateret. Kun hvis jeg højre-klikker->opdater. Jeg har prøvet alt lige fra at slette icon-cache, bruge SendMessageTimeout og SHChangeNotify med alle mulige kombinationer, men intet virker. Lige nu har jeg følgende:

Fold kodeboks ind/udCSharp kode 


Koden opdaterer skrivebordet fint, men så snart papirskurven skal skifte "state" altså ved at jeg smider noget i papirskurven eller tømrer den sker der intet før jeg højre-klikker->opdater.

PS: Tester på Win7.

Kan i hjælpe? På forhånd tak!



t