2016-12-27 10 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"ページから "新しいショートカットを作成するか、既存のショートカットを開く" -

したがって、ショートカットが存在するかどうかを確認する理由はないと思われます。これは、複製が作成されないためです。

関連する問題