CI SONO RIUSCITO !!!! eureka!!
ecco il codice:
codice:
Option Explicit
Const APPLICATION_DATA = &H1A&
Const DESKTOP = &H0
Const PROGRAMS = &H2
Public Sub CreateShellLink2(dest As String)
Dim DestPath
Dim MyShortcut
Dim QuickLaunchPath
Dim objShell
Set objShell = CreateObject("Shell.Application")
Dim objFolder
Set objFolder = objShell.Namespace(APPLICATION_DATA)
Dim objFolderItem
Set objFolderItem = objFolder.Self
Dim objDesktop
Set objDesktop = objShell.Namespace(DESKTOP)
Dim objDesktopItem
Set objDesktopItem = objDesktop.Self
Dim objPrograms
Set objPrograms = objShell.Namespace(PROGRAMS)
Dim objProgramsItem
Set objProgramsItem = objPrograms.Self
On Error Resume Next
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
If Not WSHShell Is Nothing Then
Select Case dest
Case Is = "Desktop" 'DESKTOP
DestPath = "\"
QuickLaunchPath = objDesktopItem.Path & DestPath
Case Is = "MenuAvvio" 'MENU AVVIO (a sin)
DestPath = ""
QuickLaunchPath = objProgramsItem.Path & DestPath
Case Is = "QuickBar" 'QUICK LAUNCH BAR (quella sotto)
DestPath = "\Microsoft\Internet Explorer\Quick Launch"
QuickLaunchPath = objFolderItem.Path & DestPath
End Select
Set MyShortcut = WSHShell.CreateShortCut(QuickLaunchPath & "\MyApp.lnk")
MyShortcut.TargetPath = "c:\MyPath\MyApp.exe"
MyShortcut.WorkingDirectory = "c:\MyPath"
MyShortcut.WindowStyle = 1
MyShortcut.Arguments = ""
MyShortcut.IconLocation = "c:\MyPath\MyApp.exe,0"
MyShortcut.Save
Set MyShortcut = Nothing
End If
End Sub
non so se forse ci sono troppe dichiarazioni di oggetti. Però funziona.
Ovviamente myApp e MyPath vanno modificate secondo l'esigenza.
So che questa cosa la fanno gli installer..ma m'ero messo di puntiglio. E alla fine ci sono riuscito.
Per eliminare i link, credo vadano cancellati i link (.lnk) appena creati.
Vediamo se riesco...