Suppression/création de shortcut sur le bureau
Salut,
j'essaye de créer et supprimer des shortcuts sur le bureau via script. J'ai un comportement vraiment étrange. J'ai ecris 2 fonctions, une pour créer un shortcut, l'autre pour en effacer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
Function addShortcutToDesktop(pstrUrl, pstrName)
On Error Resume Next
Dim objShortcut
Dim strDesktop
strDesktop = objShell.SpecialFolders("Desktop")
Set objShortcut = objShell.CreateShortcut(strDesktop & "\" & pstrName & ".url")
objShortcut.TargetPath = pstrUrl
objShortcut.Save
Set objShortcut = Nothing
End Function
Function removeShortcutFromDesktop(pstrUrl)
Dim custFile
Dim strDesktopFolder, desktopFolder, custFolder, extension
Dim fullname, shortcut, shortTarget
strDesktopFolder = objShell.SpecialFolders("Desktop")
Set desktopFolder = objFSO.GetFolder(strDesktopFolder)
Set custFolder = desktopFolder.Files
For Each custFile in custFolder
extension = objFSO.GetExtensionName(LCase(custFile.name))
If extension = "url" then
fullname = objFSO.GetAbsolutePathName(custFile)
Set shortcut = objShell.CreateShortcut(fullname)
shortTarget = shortcut.TargetPath
If InStr(shortTarget, pstrUrl) then
Dim myFileToDelete
Set myFileToDelete = objFSO.GetFile(fullname)
myFileToDelete.Delete
'WScript.Echo "deleting shorcut to " & pstrUrl
WScript.sleep 5000
End If
End If
Next
End Function |
Ensuite j'appel ce code depuis un peu plus haut dans le meme fichier que celui qui contient les 2 fonctions.
Si je mets :
Code:
1 2
|
addShortcutToDesktop "http://intranet", "Intranet" |
sans surprise il me créé un shortcut intitulé Intranet sur le bureau, et ce shortcut fonctionne correctement. Maintenant je mets ceci :
Code:
1 2
|
removeShortcutFromDesktop "http://intranet" |
et ca me l'efface. Si le shortcul n'est pas là, ca ne fait rien. Enfin je mets ceci :
Code:
1 2 3
|
removeShortcutFromDesktop "http://intranet"
addShortcutToDesktop "http://intranet", "Intranet" |
et là, il commence par effacer le shortcut, et ensuite il crée un raccourci non fonctionnel: "The target of this Internet Shortcut is not valid". Je remarque que l'icone du shortcut n'est pas le meme que d'habitude, et il manque l'onglet "Web document" si je regarde les propriétés de ce shortcut.
Je ne comprends vraiment pas pourquoi les 2 commandes exécutées à la suite posent probleme alors qu'executé individuellement, elles ne posent pas de probleme.
Je suis preneur de toute suggestion :)
merci