копирование ярлыка приложения в папку автозагрузки VB - PullRequest
0 голосов
/ 29 апреля 2010

Какой самый простой / лучший способ скопировать ярлык моего приложения в папку автозагрузки Windows?

Я хочу поставить флажок в контекстном меню уведомлений, и когда пользователь щелкает по нему, я хочу, чтобы приложение копировало ярлык в папку автозагрузки, а при снятии флажка хочу удалить его.

спасибо

1 Ответ

0 голосов
/ 12 мая 2010

попробуйте что-то вроде этого:

Option Explicit
Dim LinkPath As String

Private Sub Form_Load()
    LinkPath = Environ("APPDATA") & _
               "\Microsoft\Windows\Start Menu\Programs\Startup\" & _
               App.exename & ".lnk"
    Debug.Print LinkPath
End Sub

Private Sub CreateAppLinkInAutoStart()
'Windows Script Host Object Model
'IWshRuntimeLibrary
'on Windows 32 bit (x86):
'C:\Windows\System32\wshom.ocx
'on Windows 64 bit (x64):
'C:\Windows\SysWOW64\wshom.ocx

    Dim shell As New WshShell
    Dim link  As WshShortcut
    Set link = shell.CreateShortcut(LinkPath)
    link.targetpath = App.Path & "\" & App.exename & ".exe"
    link.WorkingDirectory = App.Path & "\"
    Call link.Save
End Sub

Private Sub Check1_Click()
    If Check1.Value = vbChecked Then
        CreateAppLinkInAutoStart
    Else
        Kill LinkPath
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...