Создание ярлыка из приложения
От: jimm  
Дата: 03.05.03 16:39
Оценка:
Создания ярлыка из приложения
Как из приложения создать ярлык (lnk)?
Re: Создание ярлыка из приложения
От: BugMan  
Дата: 03.05.03 20:51
Оценка:
Здравствуйте, jimm, Вы писали:

J>Создания ярлыка из приложения

J>Как из приложения создать ярлык (lnk)?
1) Я знаю через FileSystemObject можно (точно не помню как), но это только от WinME и выше....
2) На MSDN описывался способ через какую-то VB5-шную DLL-ку, но самого файла мне так найти и не удалось, возможно в VB6 эту функцию кудато переместили, но куда — я не знаю
3) Можешь сам глянуть формат *.lnk файлов — там что-то совсем простое было, и написать свою функцию
Re: Создание ярлыка из приложения
От: Воронков Василий Россия  
Дата: 05.05.03 08:20
Оценка:
Здравствуйте, jimm, Вы писали:


Enum ShortCutDest
    DeskTop
    Programs
    StartMenu
    StartUp
End Enum

Public Function CreateLink(dest As ShortCutDest, ByVal sName As String, ByVal sPath As String, Optional HotKey As String = "", Optional sIcon As String = "", Optional sWorkingDirectory As String = "", Optional sSubFolder As String = "", Optional WinStyle As Integer = vbNormalFocus)
   Dim WshShell As Object
   Dim oShellLink As Object
   Dim sLinkPath As String
   Set WshShell = CreateObject("WScript.Shell")
   Select Case dest
       Case DeskTop
            sLinkPath = WshShell.SpecialFolders("Desktop")
       Case StartMenu
            sLinkPath = WshShell.SpecialFolders("StartMenu")
       Case StartUp
            sLinkPath = WshShell.SpecialFolders("StartUp")
       Case Programs
            sLinkPath = WshShell.SpecialFolders("Programs")
   End Select
   On Error Resume Next
   If sSubFolder <> "" Then
      sLinkPath = sLinkPath & "\" & sSubFolder
      If Dir(sLinkPath) = "" Then MkDir sLinkPath
   End If
   On Error GoTo 0
   Set oShellLink = WshShell.CreateShortCut(sLinkPath & "\" & sName & ".lnk")
   oShellLink.WindowStyle = WinStyle
   oShellLink.HotKey = sHotKey
   oShellLink.TargetPath = sPath
   oShellLink.IconLocation = sIcon
   oShellLink.Description = sName
   oShellLink.WorkingDirectory = sWorkingDirectory
   oShellLink.Save
   Set oShellLink = Nothing
   Set WshShell = Nothing
End Function

Private Sub Command1_Click()
// Или вместо DeskTop - StartMenu, StartUp, Programs (надо будет указать доп. название папки)
   CreateLink DeskTop, "MyProg", "c:\myprog\myprog.exe", "CRTL+C", "myprog.exe,0", "c:\myprog"
End Sub
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.