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
7668
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
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
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
26
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