Changer fond d'ecran

eiao Messages postés 5 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 mars 2007 - 8 févr. 2007 à 14:11
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

9 réponses

cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
13 févr. 2007 à 12:39
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
1
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 févr. 2007 à 14:15
De quoi parles-tu ?
du papier-peint ou du motif ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 févr. 2007 à 16:32
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
0
eiao Messages postés 5 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 mars 2007
8 févr. 2007 à 18:52
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
10 févr. 2007 à 07:52
 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
0
eiao Messages postés 5 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 mars 2007
11 févr. 2007 à 00:12
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
0
eiao Messages postés 5 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 mars 2007
15 févr. 2007 à 17:39
Merci Christophe,
Je vais tester tout ça, je te tiendrai au courant, j'espère que ça va marcher.

Eiao
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
19 févr. 2007 à 07:19
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
0
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,
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
0
Rejoignez-nous