Changer fond d'ecran

Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
- - Dernière réponse : eiao
Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
- 3 mars 2007 à 01:58
Bonjour,
Je débute en VBS et j'aimerais savoir si qq1 a deja realisé un script pour changer un fond d'écran sous windows XP Pro, est ce faisable en VBS ?
Merci
Eiao
Afficher la suite 

9 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
De quoi parles-tu ?
du papier-peint ou du motif ?
Commenter la réponse de jmfmarques
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
0
Merci
salut
http://www.vbfrance.com/listecodes.aspx?catid=36

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
0
Merci
Je voudrais changer le papier peint avec un script qui se lance au démarrage (en ligne de commande) pour mettre un papier peint de mon choix. Est ce que c'est faisable en vbs ?
Commenter la réponse de eiao
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
23
0
Merci
 Bonjour,

Exemple pour changer le Wallpaper.

NewWallPaper = "D:\jean-marc.bmp"
Set WshShell = CreateObject("WScript.Shell")

MsgBox WshShell.RegRead("HKEY_CURRENT_USER\Control Panel\desktop\Wallpaper")


WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\desktop\Wallpaper", NewWallPaper
Set WshShell = Nothing

jean-marc
Commenter la réponse de cs_JMO
Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
0
Merci
bonjour JMarc,

Merci pour l'exemple, mais je cherche du coté de l'API, parce que le pb avec les clés BDR (du moins quand je fais les modifs à la main), c'est que le changement n'est pris en compte qu'à la reconnexion, je voudrais qu'il soit immédiat, comme avec la commande " Etablir en tant que papier peint".
Le VBS permet il ce genre d'appel aux fonctions API ?
Merci
Eiao
Commenter la réponse de eiao
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
0
Merci
Voici l'API

Private Const SPI_SETDESKWALLPAPER = 20
Public Const SPIF_SENDWININICHANGE = &H2
Public Const SPIF_UPDATEINIFILE = &H1

Private Declare Function SystemParametersInfoWallpaper Lib "user32" Alias "SystemParametersInfoA" _
   (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long

Et comment l'utiliser

Call SystemParametersInfoWallpaper(SPI_SETDESKWALLPAPER, 0&, sFileName, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

Christophe
Commenter la réponse de cavo789
Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
0
Merci
Merci Christophe,
Je vais tester tout ça, je te tiendrai au courant, j'espère que ça va marcher.

Eiao
Commenter la réponse de eiao
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
0
Merci
Oups, ce n'est que maintenant que je lis que c'était un code VBS que tu voulais.   Sorry.

Les API de Windows ne sont (à ma connaissance) pas accessibles via VBS mais bien via VB.    Ce que tu pourrais faire, ce serait de développer une petite DLL VB avec une fonction publique qui te permettrait via un code VBS de changer le wallpaper.

Je suis à 100% certain que cela fonctionnera.

Christophe
Commenter la réponse de cavo789
Messages postés
5
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 mars 2007
0
Merci
Bonjour,
Il y a bien longtemps je faisais un peu de VB, mais je n'ai plus le temps de m'y remettre.... Par contre, pour info, j'ai trouvé sur le net une fonction accessible en VBS qui couplée à une modif de la bdr, permet de changer le fonds d'écran par unpetit script tout simple (ce que je cherchais pour intégrer dans un script de login ).
------------------------------------------------------------
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")


sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = sWinDir & "\BGINFO.BMP"


' update in registry
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper


' let the system know about the change
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters",   1, True


------------------------------------------------------------

Merci encore d'avoir pris le temps de me répondre.

Eiao
Commenter la réponse de eiao