Bonjour,
je suis actuellement en train de créer plusieurs fonctions pour un programme. Certaines de ces fonction font simplement appel à "SystemParametersInfo". Mais mon problème est que ça ne fonctionne pas...

Voilà l'une de mes fonctions qui ne fonctionne visiblement pas, elle permet normalement de changer le fond d'écran. Les paramètres de la fonction sont obligatoirement comme ça (c'est une restriction à laquelle je dois faire face) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
short WINAPI DLLExport act_SetDeskWallpaper(LPRDATA rdPtr, long param1, long param2)
{
	LPSTR path	= (LPSTR)param1;
	int save	= ((BOOL)param2!=0)?(SPIF_UPDATEINIFILE):(0);
	SystemParametersInfo(SPI_SETDESKWALLPAPER,0,path,SPIF_SENDCHANGE | save);
	return 0;
}
Comme précisé, je ne peux pas changer le prototype qui est une restriction car c'est destiné à la création d'une DLL utilisée comme plugin pour un autre logiciel.

Cette fonction récupère deux arguments "param1" et "param2". Le premier est casté en Chaine de caractère (utilisée pour le chemin du wallpaper) et le deuxieme sert à indiquer si le changement doit être sauvé pour l'utilisateur ou temporaire (true/false).

Un peu d'aide ou une piste pour savoir pourquoi ça ne fonctionne pas me serait très utile.

Merci beaucoup d'avance,
Sphax