Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[C / WIN32] CHANGER DE FOND D'ÉCRAN AVEC IACTIVEDESKTOP


Information sur la source

Catégorie :API Classé sous : changer, fond ecran, IActiveDesktop, background Niveau : Débutant Date de création : 02/11/2007 Date de mise à jour : 02/11/2007 14:16:51 Vu / téléchargé: 3 685 / 140

Note :
Aucune note

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


Description

Petite source pour montrer comment changer de fond d'écran avec IActiveDesktop,
avec une dll pour les utilisateur de DevCpp qui malheuresement ne prend pa en charge ce composant...
 

Source

  • int __stdcall SetWallPaper(char* FilePath, BYTE bCenter)
  • {
  • IActiveDesktop* paDesktop;
  • WALLPAPEROPT wpOpt;
  • WCHAR wFilePath[MAX_PATH+4];
  • if(!FilePath) return 1;
  • CoInitialize(0);
  • ZeroMemory(&wpOpt, sizeof(WALLPAPEROPT));
  • if((CoCreateInstance(&CLSID_ActiveDesktop, 0, CLSCTX_INPROC_SERVER, &IID_IActiveDesktop, (LPVOID*)&paDesktop)) != S_OK) return 1;
  • MultiByteToWideChar(CP_ACP, 0, FilePath, -1, wFilePath, MAX_PATH);
  • paDesktop->lpVtbl->SetWallpaper(paDesktop, wFilePath, 0);
  • wpOpt.dwSize = sizeof(WALLPAPEROPT);
  • if(bCenter)
  • {
  • wpOpt.dwStyle = WPSTYLE_CENTER;
  • }else wpOpt.dwStyle=WPSTYLE_STRETCH ;
  • paDesktop->lpVtbl->SetWallpaperOptions(paDesktop, &wpOpt,0);
  • paDesktop->lpVtbl->ApplyChanges(paDesktop, AD_APPLY_ALL);
  • paDesktop->lpVtbl->Release(paDesktop);
  • CoUninitialize();
  • return 0;
  • }
int __stdcall SetWallPaper(char* FilePath, BYTE bCenter)
{
    IActiveDesktop* paDesktop;
    WALLPAPEROPT wpOpt;
    WCHAR wFilePath[MAX_PATH+4];
    if(!FilePath) return 1;
    CoInitialize(0);
    ZeroMemory(&wpOpt, sizeof(WALLPAPEROPT));
    if((CoCreateInstance(&CLSID_ActiveDesktop, 0, CLSCTX_INPROC_SERVER, &IID_IActiveDesktop, (LPVOID*)&paDesktop)) != S_OK) return 1;
    MultiByteToWideChar(CP_ACP, 0, FilePath, -1, wFilePath, MAX_PATH);
    paDesktop->lpVtbl->SetWallpaper(paDesktop, wFilePath, 0);
    wpOpt.dwSize = sizeof(WALLPAPEROPT);
	if(bCenter)
	{
		wpOpt.dwStyle = WPSTYLE_CENTER;
	}else wpOpt.dwStyle=WPSTYLE_STRETCH ;
    paDesktop->lpVtbl->SetWallpaperOptions(paDesktop, &wpOpt,0);
    paDesktop->lpVtbl->ApplyChanges(paDesktop, AD_APPLY_ALL);
    paDesktop->lpVtbl->Release(paDesktop);
    CoUninitialize();
    return 0;
}

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

02 novembre 2007 14:16:51 :
..

Commentaires et avis

signaler à un administrateur
Commentaire de ndubien le 02/11/2007 14:23:38

Merci pour la source

signaler à un administrateur
Commentaire de LeFauve42 le 05/11/2007 09:55:44

Salut,

Je me demandais si cette commande faisait flasher les icones du bureau pendant le refresh ?
(en clair, puis-je l'utiliser pour afficher des infos raffraichies toutes les 10 secondes sur le Desktop sans que l'utilisateur ai envie de se flinguer ?)

Eric

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

changer le background d'une zone [ par tdeco ] Salut Dans une boite de dialogue, j'ai une zone où je veux changer le couleur de fond et écrire du texte à l'intérieur. Pour cela MFC SDI changer le formulaire chargé dans la mainframe [ par boumarsel ] salut à tous,dans une application SDI basé sur CFormView, je veux changer la forme chargée dans le cadre MainFrame en fonction de la co Changer le curseur souris par une image [ par vodkapomme43 ] Bonjour,Je développe un petit doom en openGl (j'utilise visual c++) et j'aimerais juste savoir comment changer le curseur de la souris par u changer couleur texte dans richedit [ par melkiorlenecrarque ] Comment changer la couleur du texte ecrit dans une richedit ? pourquoi:hdc = BeginPaint(GetDlgItem(hDlg, IDC_EDIT_RECU), &paintstruct);SetTex Changer d'icone [ par NeoUmbrella ] Salut,J'aimerais savoir si c'est possible et si oui comment faire pour changer d'icone a mon executable une fois compilé grace au code.Sacha changer l'aspect du curseur dans une appli C console windows ... [ par malouin35 ] Bonjour a tous ! je voudrais savoir quelles sont les commandes de C a mettre dans le prog pour changer l'aspect du curseur dans une console ... par e changer d'IP [ par lilington ] Salut juste pour savoir si c'est possible et comment changer sa configuration TCP/IP (adresse mask,passerelle,server DNS) à l'aide de l'api WIndo Comment changer la limite du nombre de champs sur le dialogue [ par wannalurn ] BonjourJe cree une application MFC sur visual c++ 6.0 et cette interface contient un grand nombre de labels, d'edits box etc... J'ai remarque que le n changer hwnd [ par T_Mehdi ] salut a tous ma question est simple est ce que on peut changer le hwnd d'une fenetre merci Changer la couleur d'un texte en mode console, et faire clignoter [ par Tank01 ]  Bonjour,Je suis débutante en c++, je travail sous dev c++4, je programme en mode console, voila, je souhaiterais pouvoir écrire certai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 12,823 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.