VBS : petite aide de programmation pour débutant svp

VBS : petite aide de programmation pour débutant svp - VB/VBA/VBS - Programmation

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
 
 

Reply

Marsh Posté le 20-12-2006 à 09:48:11   

Reply

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.

 

Message cité 1 fois
Message édité par ZeBix le 20-12-2006 à 10:11:42
Reply

Marsh Posté le 20-12-2006 à 10:48:15    

ZeBix a écrit :

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.


 
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 ?

Reply

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 :)

Reply

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 :/
 
Prunelle ? le collègue à Gaston ?
son chef pour être précis, hehe, celui qui jure tout le temps en utilisant ton pseudo :)


 
Bon, ben j'ai au moins trouvé un autre fan de Lagaffe !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed