cs_Hector78
Messages postés62Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 5 mai 2010
-
28 oct. 2005 à 08:33
lhurgoyf_37
Messages postés12Date d'inscriptionjeudi 9 décembre 2004StatutMembreDerniè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
lhurgoyf_37
Messages postés12Date d'inscriptionjeudi 9 décembre 2004StatutMembreDerniè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 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".