2

私はこのコードを持っていますが、それは問題を引き起こしています:

Imports IWshRuntimeLibrary
Imports Shell32

Public Sub CreateShortcutInStartUp(ByVal Descrip As String)
    Dim WshShell As WshShell = New WshShell()
    Dim ShortcutPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup)
    Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(ShortcutPath &    
    Application.ProductName & ".lnk"), IWshShortcut)
    Shortcut.TargetPath = Application.ExecutablePath
    Shortcut.WorkingDirectory = Application.StartupPath
    Shortcut.Descripcion = Descrip
    Shortcut.Save()
End Sub

私が読んだことによると、これはスタートアップでショートカットを作成する方法です。しかし、このサブをいくら呼んでもショートカットが出てきません。私はすでに、SOや他のさまざまなサイトで同様の質問をたくさん見ています。

他のアプリケーションからショートカットを作成しようとしても、期待どおりに表示されません。

私は何が欠けていますか?

4

2 に答える 2

3

コードに 2 つのエラーがあります。

1) パスが適切に連結されていないため、次のように変更します。

Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(ShortcutPath & Application.ProductName & ".lnk"), IWshShortcut)

これに:

Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(System.IO.Path.Combine(ShortcutPath, Application.ProductName) & ".lnk"), IWshShortcut)

2) 説明のスペルが間違っているので、次のように変更します。

Shortcut.Descripcion = Descrip

これに:

Shortcut.Description = Descrip

固定サブルーチンは次のとおりです。

Public Sub CreateShortcutInStartUp(ByVal Descrip As String)
    Dim WshShell As WshShell = New WshShell()
    Dim ShortcutPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup)
    Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(System.IO.Path.Combine(ShortcutPath, Application.ProductName) & ".lnk"), IWshShortcut)
    Shortcut.TargetPath = Application.ExecutablePath
    Shortcut.WorkingDirectory = Application.StartupPath
    Shortcut.Description = Descrip
    Shortcut.Save()
End Sub
于 2015-01-03T09:54:17.417 に答える