Hello Everyone,
I wrote a program which create creates a series of shortcuts on multiple servers.
In some cases when I create shortcuts to folders when I click on the folder shortcut the dialog box pops up that asks me which application do I want to use to open this
I have noticed this most frequently when I am creating shortcuts on remote systems or network shares.
Here it the code to the create the shortcut
Public Sub CreateShortcut(ByVal shortcutLocation As String, ByVal shortcutTarget As String, _
ByVal shortcutName As String, ByVal iconType As Integer)
On Error GoTo CreateShortcut_Err
Dim MyShortcut As Object
Dim oshell As Object
If InStr(1, shortcutLocation, ":") = 0 And InStr(1, shortcutLocation, "$") = 0 Then shortcutLocation = "C:\" & shortcutLocation
Set oshell = CreateObject("wscript.shell")
Set MyShortcut = oshell.CreateShortcut(shortcutLocation & "\" & shortcutName)
' Set shortcut object properties and save it
MyShortcut.TargetPath = shortcutTarget
MyShortcut.WindowStyle = 4
'Set the icon to represent the shortcut (4=open folder 1=textpad 220=IE)
Select Case iconType
Case "0"
MyShortcut.IconLocation = MyShortcut.TargetPath & ",0"
Case "1"
MyShortcut.IconLocation = "C:\Windows\System32\Shell32.dll,1"
Case "4"
MyShortcut.IconLocation = "C:\Windows\System32\Shell32.dll,4"
Case "220"
MyShortcut.IconLocation = "C:\Windows\System32\Shell32.dll,220"
Case Else
wlog "Something went wrong building the shortcut"
End Select
If InStr(shortcutTarget, "SCConfigTool.exe") <> 0 Then
MyShortcut.WorkingDirectory = Mid(shortcutTarget, 1, Len(shortcutTarget) - Len("\SCConfigTool.exe"))
End If
If InStr(shortcutTarget, "SoarianLogTool.exe") Then
MyShortcut.WorkingDirectory = Mid(shortcutTarget, 1, Len(shortcutTarget) - Len("\SoarianLogTool.exe"))
End If
If InStr(shortcutTarget, "MGR07.EXE") <> 0 Then
MyShortcut.WorkingDirectory = Mid(shortcutTarget, 1, Len(shortcutTarget) - Len("\MGR07.EXE"))
End If
MyShortcut.Save
MyShortcut.Save
CreateShortcut_Err:
logger.LogMessage (Err.Description)
Err.Clear
Resume Next
End Sub
Here is my call to this sub:
Call CreateShortcut(fDest, sDrv & Mid(sServicesDir, 2) , "Services.lnk", "4")
If I view the properties on the shortcut I created the path is valid. If I hit the find target button it opens up the parent folder of the one I built my shortcut to.
If I click in the path box and enter / immediately I get a list of paths to chose. If I simply type anything in the box and then delete what I typed and hit apply the shortcut starts working.
Does anyone have any ideas?
As you can see, I tried doing the shortcut.save twice. I also tried terminating my path with "\" but nothing seems to work.
-Rich
!--removed tag-->
No one has replied yet! Why not be the first?
Sign in or Join us (it's free).