Fond d'écran

ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 27 oct. 2007 à 12:52
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009 - 29 oct. 2007 à 16:57
Bonjour,

Comment faire pour changer le fond d'écran de l'ordinateur en C API Win32?
Je connaît déjà un moyen (que je n'ai pas sous la main pour le moment) mais il ne fonctionne pas avec les jpg.
Je recherche donc un moyen de changer le fond d'écran d'un ordinateur et mettre une image jpg à la place du fond d'écran...

Ensuite,
Comment choisir les paramètres du fond d'écran (étalée, centrée ou mosaïque)?

Merci d'avance et à bientôt...


<hr />


Nico

8 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
27 oct. 2007 à 14:09
Tu peux utiliser le Shell (interface IActiveDesktop) par exemple.
0
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
28 oct. 2007 à 10:08
possibilité avec la base de registre pour la configuration de présentation e ton image, mais nécesite un redémarrage je crois,

bonne prog.
0
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
28 oct. 2007 à 13:44
Pour le bmp:
SystemParametersInfo (SPI_SETDESKWALLPAPER,0,File,SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);

Pour jpg tu dois utiliser l'activedesktop:
#include <WinInet.h>
#include <ShlObj.h>
/////////////////////////////////////////
CoInitialize (NULL) ;
HRESULT hr;
IActiveDesktop *pActiveDesktop;

 hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
IID_IActiveDesktop, (void**)&pActiveDesktop);

LPCWSTR Path = L"image.jpg" ;
if (pActiveDesktop -> SetWallpaper (Path, 0) != S_OK)
////////////////////////
pActiveDesktop->Release();
CoUninitialize () ;
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
29 oct. 2007 à 09:25
Merci pour ces réponses, maintenant je souhaiterais savoir :
Comment choisir les paramètres du fond d'écran (étalée, centrée ou mosaïque)?
Encore merci... A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
29 oct. 2007 à 09:27
#include <WinInet.h>

est-il déclaré dans #include <windows.h>?
0
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
29 oct. 2007 à 12:13
Dans la clef de registre je crois.
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
29 oct. 2007 à 12:56
Salut sam20,
pour la clef c'est bien çà (cf. http://www.cppfrance.com/codes/CHANGEMENT-ALEATOIRE-FOND-ECRAN_9353.aspx) mais pour le choix de l'affichage (centrer, mosaïque...) c'est comment?
Merci d'avance
A+
0
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
29 oct. 2007 à 16:57
a la la sa serait bien de chercher un peu quand même ^^ : résultat au bout de 2 minutes de tests ^^ abusé

bon la :HKEY_CURRENT_USER\Control Panel\Desktop\

Wallpaper = emplacement de ton image
WallpaperStyle 0 centré
                            1= mosaique
                            2= étiré

bon codage
            
0
Rejoignez-nous