我正在尝试从Windows 7机箱(64位)上的vb.net代码创建桌面快捷方式。以下代码适用于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盒子上的代码创建快捷方式的想法或更好的方法吗?
答案 0 :(得分:2)
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
答案 1 :(得分:0)
您的应用运行的权限是什么?我相信它需要管理员凭据才能完成你想要的工作。