Petit retour en arrière

J'utilise cette fonction des API pour changer le fond d'ecran
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar('Wallpaper.BMP'),SPIF_UPDATEINIFILE);
Avec cette méthode, on ne peut employer que des BMP, mais c'est pas vraiment le problème.
Le problème c'est que quand je la lance rien ne se passe

Ou plutôt si, le fond ne change pas, mais l'image en fond disparait totalement au profit d'un fond unie.
Où me suis-je trompé ?