Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modification du fond d'écran en temps réel.

2 réponses
Avatar
The Ultimate Video Game Museum
Je cherche à modifier le fond d'écran de Windows en temps réel.
Actuellement j'utilise la fonction suivante :

Function Modification_Wallpaper(Chemin As String)

Registre.Add "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", Chemin
Registre.Add "HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\Desktop\General\Wallpaper", Chemin

End Function

Les valeurs sont bien modifiées dans la base de registre et le chemin du
fichier est correct. La nouvelle image est même visible et sélectionnée dans
les propriétés d'affichage. Je dois alors faire un "appliquer" dans les
propriétés d'affichage pour que l'image s'affiche enfin car même le
"clic-droit > actualiser" sur le bureau n'a aucun effet.

Il doit y avoir une commande pour forcer l'actualisation qui est appelée
lorsque l'on clique sur le bouton "appliquer" dans les propriétés
d'affichage. Donc j'amerai savoir quelle est-elle ? Comment s'en servir ? Ou
au pire comment la substituer autrement ?

Merci par avance pour vos réponse,

Cordialement,

Christophe

2 réponses

Avatar
Stéphane Maillard
Bonjour,

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

Public Const SM_PAPIERWIN = 20
Public Const SM_CHANGEINI = &H2
Public Const SM_MAJINI = &H1

Public Sub ChangePapier(ByVal sNomFichier As String)
'sNomFichier correspond au chemin d'accès complet
'du dessin que vous voulez utiliser
Dim lR As Long

lR = SystemParametersInfo(SM_PAPIERWIN, 0&, sNomFichier, _
SM_CHANGEINI Or SM_MAJINI)
End Sub

Exemple : call changepapier("c:dessinMonBeauDessin.bmp")

--

Cordialement

Stéphane Maillard
Rixy Software
Port.: 06.15.49.63.92
Tél/Fax : 02.99.20.17.37

L'intégrité de ce message n'étant pas assurée sur Internet, Rixy Software ne peut être tenu responsable de son contenu.
Si vous n'êtes pas destinataire de ce message confidentiel, merci de le détruire et d'avertir immédiatement l'expéditeur.

The integrity of this message cannot be guaranteed on the Internet. Rixy Software can not therefore be considered responsible for
the contents.
If you are not the intended recipient of this confidential message, then please delete it and notify immediatly the sender.

"The Ultimate Video Game Museum" a écrit dans le message de news:3f0c0734$0$4606$
| Je cherche à modifier le fond d'écran de Windows en temps réel.
| Actuellement j'utilise la fonction suivante :
|
| Function Modification_Wallpaper(Chemin As String)
|
| Registre.Add "HKEY_CURRENT_USERControl PanelDesktopWallpaper", Chemin
| Registre.Add "HKEY_CURRENT_USERSoftwareMicrosoftInternet
| ExplorerDesktopGeneralWallpaper", Chemin
|
| End Function
|
| Les valeurs sont bien modifiées dans la base de registre et le chemin du
| fichier est correct. La nouvelle image est même visible et sélectionnée dans
| les propriétés d'affichage. Je dois alors faire un "appliquer" dans les
| propriétés d'affichage pour que l'image s'affiche enfin car même le
| "clic-droit > actualiser" sur le bureau n'a aucun effet.
|
| Il doit y avoir une commande pour forcer l'actualisation qui est appelée
| lorsque l'on clique sur le bouton "appliquer" dans les propriétés
| d'affichage. Donc j'amerai savoir quelle est-elle ? Comment s'en servir ? Ou
| au pire comment la substituer autrement ?
|
| Merci par avance pour vos réponse,
|
| Cordialement,
|
| Christophe
|
|
|
Avatar
The Ultimate Video Game Museum
Merci ça marche (juste pour les bmp).

Alors je charge le fichier image quelque soit son format dans un contrôle
image nommé "Documents_Graphiques_Previsualisation" ensuite j'ajoute cette
ligne :

SavePicture Documents_Graphiques_Previsualisation, App.Path &
"wallpaper.bmp"

App.Path & "wallpaper.bmp" est alors le fichier qui sera mis en fond
d'écran.

Merci encore Stéphane !