//Déclaration des variables
sWallPaper est une chaîne
sCheminImage est une chaîne
sNouvelleImage est une chaîne
nAdresseImage est un entier
nLargeur est un entier
nHauteur est un entier
nSPI_SETDESKWALLPAPER est un entier= 20
nSPIF_SENDWININICHANGE est un entier= 2 //0x0002
nSPIF_UPDATEINIFILE est un entier= 1 //0x0001
Sablier()
//Affectation des variables
sNouvelleImage = "C:\Windows\WallPaperProViewer.BMP"
//Suppression de l`image précédente
SI fFichierExiste(sNouvelleImage) ALORS fSupprime(sNouvelleImage)
HLitPremier (DATA, IDData)
//On récupère le chemin de l`image
sCheminImage = DATA.Chemin
//Conversion de l`image en BMP
//On adapte la taille du champ image à celle de l`image et de l`écran
// ImageConversion est un champ image hors écran
nLargeur = ExtraitChaîne(InfoBitmap(sCheminImage), 2)
ImageConversion..Largeur = Min(SysXRes(),nLargeur)
nHauteur = ExtraitChaîne(InfoBitmap(sCheminImage), 3)
ImageConversion..Hauteur = Min(SysYRes(),nHauteur)
ImageConversion = sCheminImage
SI dSauveImageBMP(ImageConversion,sNouvelleImage) ALORS
SI PAS API("USER32", "SystemParametersInfoA", nSPI_SETDESKWALLPAPER, Null, sNouvelleImage, nSPIF_UPDATEINIFILE + nSPIF_SENDWININICHANGE) ALORS
Erreur("L`image:" + sNouvelleImage + " est refusé par le bureau de Windows." + RC + "Pour confirmation, essayez de forcer cette image par les propriétés du bureau.",ErreurInfo())
FIN
SINON
Erreur("Erreur durant la conversion du format de l`image : " + ErreurInfo())
FIN
//Suppression de l`image inutile
fSupprime(sCheminImage)
Sablier(Faux)
|