VBS : petite aide de programmation pour débutant svp - VB/VBA/VBS - Programmation
Marsh Posté le 20-12-2006 à 10:11:17
Salut Prunelle,
Tu as essayé WshShell.Exec au lieu de run ? (juste une intuition, je sais pas si ça va changer qqch)
Au passage je ne comprends absolument pas pourquoi tu crées un file system object ("objFSO" dans ton exemple), qui n'a aucune utilité ici.
Marsh Posté le 20-12-2006 à 10:48:15
ZeBix a écrit : Salut Prunelle, |
Avec .Exec, ça ne marche pas, j'ai un message qui me dit que le .lnk n'est pas une application Win32 valide !
Et pis même si ça marchait, comment passer le "Démarrer dans" ?
Le objFSO ne sert effectivement à rien. J'ai oublié de l'enlever dans mon exemple. En fait, dans le .vbs complet que j'essaie de faire tourner, j'ouvre et j'écris dans un fichier trace)
Prunelle ? le collègue à Gaston ?
Marsh Posté le 20-12-2006 à 11:07:16
Je n'avais jamais essayé, j'espérais qu'un lnk (qui comprend donc le "démarrer dans" ) fût considéré comme une application Win32, mais visiblement c'est pas le cas
Prunelle ? le collègue à Gaston ?
son chef pour être précis, hehe, celui qui jure tout le temps en utilisant ton pseudo
Marsh Posté le 20-12-2006 à 11:29:54
ZeBix a écrit : Je n'avais jamais essayé, j'espérais qu'un lnk (qui comprend donc le "démarrer dans" ) fût considéré comme une application Win32, mais visiblement c'est pas le cas |
Bon, ben j'ai au moins trouvé un autre fan de Lagaffe !
Marsh Posté le 20-12-2006 à 09:48:11
Bonjour,
Je ne suis pas développeur, mais j'essaie de faire un petit truc en vbs et je tombe sur un os.
Si un pro pouvait me dépanner, ça serait sympa.
Voilà : j'ai une application qui se lance théoriquement par un raccourci prog.lnk
Au niveau de ce raccourci, dans "Cible", il y a le chemin du .exe à lancer
Et il y a un répertoire indiqué dans "Démarrer dans". Ce répertoire est indispensable car l'appli va y chercher en chemin relatif tout un tas de paramètres.
Je voudrais faire un programme en vbs, afin de pouvoir prendre la main avant le lancement du programme en question, et ensuite le lancer.
Voilà ce que j'ai fait dans un premier temps :
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell" )
Set objFSO = CreateObject("Scripting.FileSystemObject" )
WshShell.run "c:\essai\prog.lnk",3 , False
Ca marche partout (c'est sur un parc de 100 pc mi W98, mi XP, au boulot, j'avais oublié de le préciser), SAUF sur UN poste (c'est un XP)
Il y a une erreur sur la dernière ligne.
En fait, il n'aime pas le .lnk. Si on met un .bat par exemple, ça passe !
J'ai essayé de mettre à jour le poste (Windowsupdate, dernière version vbscript...), rien n'y fait
Alors je souhaiterais mettre dans la commande WshShell.run directement l'exécution du .exe, MAIS COMMENT gérer le fait qu'il faut "Démarrer dans" ?
Si je fais WshShell.rum "c:\essai\prog.exe", ça plante évidemment car le programme ne trouve pas ses paramètres vu qu'on n'a pas précisé de "Démarrer dans"
Merci pour votre aide