Создать ярлык с vb.net на Windows 7 box (64 бит) - PullRequest
2 голосов
/ 14 июня 2010

Я пытаюсь создать ярлык на рабочем столе из кода vb.net в Windows 7 (64-битная версия).Следующий код работает на XP, но при запуске на Win7 я просто получаю сообщение о том, что приложение перестало работать:

Imports IWshRuntimeLibrary

Dim WshShell As WshShellClass = New WshShellClass

            Dim MyShortcut As IWshRuntimeLibrary.IWshShortcut

            ' The shortcut will be created on the desktop
            'Win 7 
            MyShortcut = CType(WshShell.CreateShortcut("C:\Users\Public\Desktop\iexplore.lnk"), IWshRuntimeLibrary.IWshShortcut)

            'MyShortcut = CType(WshShell.CreateShortcut("C:\Documents and Settings\All Users\Desktop\iexplore.lnk"), IWshRuntimeLibrary.IWshShortcut)

            MyShortcut.TargetPath = "C:\Program Files\Internet Explorer\iexplore.exe" 'Specify target app full path
            MyShortcut.Description = "IE"

            MyShortcut.Save()

Есть какие-нибудь мысли или лучшие способы создания ярлыка из кода на коробке Win7?

Ответы [ 2 ]

2 голосов
/ 14 июня 2010

Windows 7 64-битная здесь.Скомпилировал это как 32-битное, и это сработало:

Imports IWshRuntimeLibrary

Module Module1

    Sub Main()
        Dim WshShell As WshShell = New WshShell

        Dim MyShortcut As IWshRuntimeLibrary.IWshShortcut

        MyShortcut = CType(WshShell.CreateShortcut("C:\Users\Public\Desktop\Dah Browser.lnk"), IWshRuntimeLibrary.IWshShortcut)
        MyShortcut.TargetPath = "C:\Program Files\Internet Explorer\iexplore.exe" 'Specify target app full path
        MyShortcut.Description = "IE"

        MyShortcut.Save()
    End Sub

End Module

Примечание: я работаю от имени администратора с отключенным UAC.

Также обратите внимание, что я изменил WshShellClass на WshShell

0 голосов
/ 14 июня 2010

С какими привилегиями работает ваше приложение?Я считаю, что для выполнения того, что вы ищете, потребуются учетные данные администратора.

...