PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WD - Como mudar papel de parede via codigo?
WD - Como mudar papel de parede via codigo?
Iniciado por BOLLER ADRIANO, jul., 02 2016 5:55 AM - Sem resposta
Membro registado
3.657 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 02 2016 - 5:55 AM
//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)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/