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:\Windows\System32\wscript.exe",
"D:\Donnees\Bureau\test.vbs", "D:\Donnees\Bureau", "C:\Windows\helppane.exe"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude
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
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
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