épingler un script vbs ou hta sous Windows 7

Le
Jean-Claude
Bonjour,
j'avais posé en mars dernier une question sur la possibilité d'épingler un
programme par un script, merci à JC Bellamy pour la réponse, et son petit
script que je me suis permis d'adapter à mon besoin précis.
J'ai maintenant plusieurs scripts VBS et HTA (que je diffuse au boulot) et
j'aimerais donner la possibilité de les épingler comme un programme.
J'ai donc fait le script ci-dessous : il fonctionne très bien pour les VBS.

Pour les HTA, je remplace simplement wscript.exe par mshta.exe et test.vbs
par test.hta.
Au premier lancement, mon HTA est bien épinglé.
Ensuite, quand je clique sur l'icône en barre de tâche, le script s'ouvre
bien, mais affiche **aussitôt** une seconde icône (donc avant même qu'un
second épinglage ait lieu).
Et donc, si je choisis d'épingler à nouveau, il ajoute cette 2nde icône en
barre (contrairement au VBS).
(si besoin de clarté, je peux faire des copies d'écran).

Une idée sur cette différence ? Merci d'avance.
Jean-Claude

''' test.vbs '''
dim wsh, fso, sc
set wsh = createobject("wscript.Shell")
set fso = createobject("scripting.FileSystemObject")

sub pin(pin_name, pin_exe, pin_arg, pin_dir, pin_icon)
' créer le dossier temporaire pour y créer les raccourcis
tmp = wsh.ExpandEnvironmentStrings("%TEMP%")
dir = tmp & "" & replace(date, "/", "") & replace(time, ":", "")
fso.createfolder(dir)
' créer le raccourci
set sc = wsh.CreateShortcut(dir & "" & pin_name & ".lnk")
sc.TargetPath = pin_exe
sc.Arguments = """" & pin_arg & """"
sc.WorkingDirectory = pin_dir
sc.IconLocation = pin_icon
sc.Save
' épingler le raccourci
set colVerbs =
CreateObject("Shell.Application").Namespace(dir).ParseName(pin_name &
".lnk").Verbs
for each objVerb in colVerbs
if mid(objVerb.name, 2) = "pingler à la &barre des tâches" then
objVerb.DoIt
next
' supprimer raccourci et dossier
fso.deletefile(dir & "" & pin_name & ".lnk")
fso.deletefolder(dir)
end sub

r = msgbox("Voulez-vous épingler l'outil ?", vbYesNo)
if r = vbYes then pin "test", "C:WindowsSystem32wscript.exe",
"D:DonneesBureautest.vbs", "D:DonneesBureau", "C:Windowshelppane.exe"
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Claude
Le #26214152
Bon, après plusieurs recherches, je suis tombé sur un article de microsoft
qui explique pourquoi ça ne fonctionne pas avec mshta.exe
http://msdn.microsoft.com/en-us/library/dd378459%28VS.85%29.aspx
Je n'ai pas vraiment compris, mais le résultat est là... Bof.
Jean-Claude
Publicité
Poster une réponse
Anonyme