Jak utworzyć skrót?

przez | 2024-11-05

Piszesz jakiś prosty instalator dla swojej aplikacji? Możesz wykorzystać poniższy fragment kodu, aby utworzyć do niej skrót na pulpicie:

Function CreateShortCut(LnkFile As String, TargetPath As String) As Boolean
    On Error GoTo CreateShortCut_Error
    Dim objShell As Object
    Dim Shortcut As Object
    
    Set objShell = CreateObject("WScript.Shell")
    Set Shortcut = objShell.CreateShortCut(LnkFile)
    Shortcut.TargetPath = TargetPath
    Shortcut.Save
    
    Set Shortcut = Nothing
    Set objShell = Nothing
    CreateShortCut = True

CreateShortCut_Error2:
    On Error GoTo 0
    Exit Function

CreateShortCut_Error:
    CreateShortCut = False
    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure CreateShortCut", vbExclamation
    Resume CreateShortCut_Error2:
End Function


Sub Test_CreateShortCut()
    Dim Ret As Boolean
    Dim Desktop As String
    
    Desktop = Environ("USERPROFILE") & "\Desktop\"
    Ret = CreateShortCut(Desktop + "liczydlo.lnk", "C:\windows\system32\calc.exe")
    'Ret = CreateShortCut(Desktop + "pomoc.lnk", "C:\moja_aplikacja\pomoc.docx")
    
    If Ret = True Then
        MsgBox "Skrót został utworzony lub zaktualizowany", vbInformation
    Else
        MsgBox "Nie utworzono skrótu", vbExclamation
    End If
End Sub

Sercem kodu jest metoda CreateShortCut z obiektu bibliotecznego WScript.Shell znajdująca się w funkcji CreateShortCut przyjmującej dwa parametry: ścieżka do nowo utworzonego pliku LNK (pliku ze skrótem) oraz ścieżka do obiektu docelowego, który uruchamia skrót. W naszym przypadku w procedurze Test_CreateShortCut tworzymy na pulpicie skrót liczydlo.lnk, który uruchamia windowsowy kalkulator.

Uwaga: tworząc skrót metoda CreateShortCut obiektu WScript.Shell nie sprawdza, czy docelowy plik istnieje, tak więc można utworzyć skrót prowadzący do pliku, który nie istnieje. Warto dodać do kodu jakąś funkcję sprawdzającą czy owy plik istnieje!

Wskazówka: skróty nie muszą prowadzić tylko do plików wykonywalnych. Możemy utworzyć skrót do dowolnego pliku (np. do pliku pomoc.docx)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.