Changement wallpaper

Résolu
cs_Hector78 Messages postés 62 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 5 mai 2010 - 28 oct. 2005 à 08:33
lhurgoyf_37 Messages postés 12 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 3 mars 2006 - 28 oct. 2005 à 10:55
Hello !

Je voudrais modifier l'image de background du bureau de windows, par une macro Excel. Si j'exécute le code ci-dessous, l'image n'est pas modifiée. Par contre, si je fais un click droit sur le bureau, puis propriétés, mon image voulue est bien affichée dans la boite de dialogue, il me suffit de presser sur appliquer puis sur ok pour que l'image de background se modifie. Que manque-t-il dans ce code pour que l'image soit changée automatiquement ?

Merci pour votre aide.
Hector

Option Explicit


Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long


Private Sub main()
Dim wsh As Object
Dim r As String

Set wsh = CreateObject("WScript.Shell")
' on cree le nom de l'image
r = "H:\Back.bmp"
' on sauvegarde le nouveau numero
SaveSetting "Wallpaper Changer", "Desktop", "Wallpaper", r
WritePrivateProfileString "Desktop", "Wallpaper", r, "c:\windows\win.ini"
wsh.regwrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", r, "REG_SZ"
End Sub

3 réponses

lhurgoyf_37 Messages postés 12 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 3 mars 2006
28 oct. 2005 à 10:12
Salut



je te conseille plutôt d'utiliser ces instructions.



Dans un premier temps il faut déclarer cette constante:



Public Const SPI_SETDESKWALLPAPER = 20



Puis il faut déclarer cette API:



Public Declare Function Parametrage Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long,
ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long



Et enfin utilise cette ligne dans tà procédure:



Parametrage SPI_SETDESKWALLPAPER, 0, "H:\Back.bmp", 1



Et voila! Avec ces quelque lignes tu peux changer ton fond d'écran sans
aucun problème (sur les systèmes gérant cette API). Si tu veux plus
d'explication sur cette API je te conseille d'aller voir du côté du
site de "darksidious".


@+
Le grand FLO
3
cs_Hector78 Messages postés 62 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 5 mai 2010
28 oct. 2005 à 10:22
Hello !

Rien à redire, nickel c'est parfaitement ce que je recherchais ;-)

Merci.
Bonne journée.
Hector
0
lhurgoyf_37 Messages postés 12 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 3 mars 2006
28 oct. 2005 à 10:55
Mais de rien

Le grand FLO
0
Rejoignez-nous