2016-12-27 1 views
-2

사용자의 데스크톱에 링크 존재 여부를 확인하는 스크립트를 만들었습니다. 발견되지 않으면 링크가 생성됩니다. 하지만 그 링크를 아이콘이 변경되게하고 싶습니다. 어떻게 해야할지 모르겠습니다. 내가 만든 objDesktop을 사용하려고했으나 다른 유형의 개체 인 것 같습니다. 따라서 ParseName 또는 GetLink을 사용할 수 없습니다. 아래링크를 만든 후 아이콘을 변경하는 방법은 무엇입니까?

코드 샘플 :

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. 

나는 지금까지 나의 접근 방식은 일관성있는 결과로 나를 인도하지 않을 경우, 그래서 저를주세요, 가능한 한 단순하고 최소한의 코드를 유지하고 싶습니다 더 나은 코드 예제.

+3

링크를 만드는 것과 매우 비슷하게 if를 제거하고 아이콘을 변경하십시오. 'shortcut.IconLocation = "% SystemRoot % \ system32 \ SHELL32.dll, 1"' – LotPings

답변

0

비밀을 발견했습니다 : if를 사용하지 않고 직접 .CreateShortcut을 호출하십시오. MSDN의 "CreateShortcut Method"페이지에서 "새 바로 가기를 만들거나 기존 바로 가기를 엽니 다."-

따라서 중복을 만들지 않으므로 바로 가기가 있는지 확인해야 할 이유가없는 것으로 보입니다.

관련 문제