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