2016-12-27 1 views
-2

J'ai fait un script qui va vérifier l'existence d'un lien dans le bureau de l'utilisateur et s'il n'est pas trouvé, il va le créer. Mais je veux que ce lien change d'icône et je ne sais pas comment le faire. J'ai essayé d'utiliser le objDesktop que j'ai créé, mais il semble être un type différent d'objet, donc je ne peux pas utiliser ParseName ou GetLink contre cela.Comment changer l'icône d'un lien après l'avoir créé?

Exemple de code ci-dessous:

Set wShell = CreateObject("Wscript.Shell") 
Set objFso = WScript.CreateObject("Scripting.FileSystemObject") 
Set objDesktop = objFso.GetFolder(wShell.SpecialFolders("Desktop")) 

linkName = "\Notepad.lnk" 
fullLinkPath = objDesktop & linkName 

If (objFso.FileExists(fullLinkPath)) = False Then 
    Set shortcut = wShell.CreateShortcut(fullLinkPath) 
    shortcut.targetpath = "c:\Windows\notepad.exe" 
    shortcut.Save 
End If 

'from here, I want that freshly created link to have its icon replaced with 
'another ico file that will be provided. 

Je voudrais garder le code aussi simple et minimal que possible, donc si mon approche jusqu'à présent ne va pas me conduire à un résultat cohérent, s'il vous plaît me donner un meilleur exemple de code.

+3

De la même façon que vous créez un lien, supprimez simplement le si et changez l'icône. 'shortcut.IconLocation ="% SystemRoot% \ system32 \ SHELL32.dll, 1 "' – LotPings

Répondre

0

Trouvé le secret: en n'utilisant pas le si et en appelant directement .CreateShortcut. "Crée un nouveau raccourci ou ouvre un raccourci existant" - à partir de la page "CreateShortcut Method" sur MSDN. Donc, il semble qu'il n'y avait aucune raison de vérifier si le raccourci existe, car il ne créera pas de doublon.