Changer le fond d'écran

Signaler
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007
-
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007
-
Bonsoir a tous !

J'ai un 'tit problème.
Je sais changer le fond d'écran en ecrivant dans la BDR
mais j'ai remarqué que lorsque le fichier a un paramêtre
Alpha (png, jpeg, jpg, gif, ...) le bureau n'est pas redessiner
ce qui fait que le fond d'écran n'est pas appliquer !

J'ai tester avec par exemple un fichier Bitmap
et la le fond d'écran et redessiner et Apliquer.
J'utilise aussi une fonction pour Mettre a jour le fond d'écran:
SystemParametersInfo (SPI_SETDESKWALLPAPER,0,File,SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Mais sa ne marche toujours que avec les fichier bmp , ....

6 réponses

Messages postés
184
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
26 mai 2016
3
Salut.
Tu dois activer l'activeDesktop pour les fichiers autres que bmp.

#include <Windows.h>
#include <WinInet.h>
#include <ShlObj.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iShowCmd)
{
CoInitialize (NULL) ;
HRESULT hr;
IActiveDesktop *pActiveDesktop;

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

LPCWSTR wcPath = L"monfichier.jpg" ;
if (pActiveDesktop -> SetWallpaper (wcPath, 0) != S_OK)
{
//The method has failed...
}

 pActiveDesktop->Release();
CoUninitialize () ;
return0 ;
}
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007

Je pourrai juste savoir quelle bibliothèque il utilise
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007

J'ai un problème de link :s

projet.obj : error LNK2001: unresolved external symbol "void __cdecl ApplyWallPaper(char *)" (?ApplyWallPaper@@YAXPAD@Z)
Debug/projet.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

J'utilise Visual C++ 6.0 (sans MFC)
Messages postés
184
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
26 mai 2016
3
Mille excuses.
#pragmacomment (lib, "shell32.dll")
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007

! J'ai toujours le même problème
J'ai pourtant tout essayer






#pragma comment (lib, "shell32.lib")



#import "shell32.dll"
...
...

projet.obj : error LNK2001: unresolved external symbol "void __cdecl ApplyWallPaper(char *)" (?ApplyWallPaper@@YAXPAD@Z)
Debug/projet.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Messages postés
127
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
5 août 2007

J'adore VC++6.0 !
Une fois le problème résolu il trouve un autre problème !

shell32.lib(shguid.obj) : fatal error LNK1103: debugging information corrupt; recompile module
Error executing link.exe.
projet.exe - 1 error(s), 0 warning(s)

trop cool !