locked
FAQs: 怎样从开始菜单和桌面上添加或者删除应用程序的快捷方式? RRS feed

  • 问题

  • 为了帮助大家更好地学习 Visual Basic技术,微软论坛技术支持团队编辑了一些列的 "Visual Basic 常见问题及解答" 精华帖。

    本帖的主题是:怎样从开始菜单和桌面上添加或者删除应用程序的快捷方式?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 "Visual Basic 常见问题及解答",请打开索引页面:
    http://social.msdn.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/c9ab4b8e-99dc-49a2-bcea-30f3ecc3c3b7


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月3日 2:06

答案

  • 一般来说,ClickOnce Deployment 不会创建应用程序的快捷方式。

    但是,如果你的项目运行环境是.Net Framework 3.5 并且已经安装了.Net Framework 3.5 SP1的话,你可以使用ClickOnce Deployment 创建一个桌面的快捷方式:

         右键项目名称->属性->Publish 页面->跟多选项 按钮->Manifests 选项->创建一个桌面快捷方式 打钩。

    如果你的项目运行环境是.Net Framework 3.5以前的 版本,而且你要创建快捷方式的话,你可以用Windows Scripting HostWSH)的runtime libraryIWshRuntimeLibrary )。

    参考一下步骤和代码:

       添加引用->COM >选择 Windows Script Host Object Model”

    代码示例:

    Imports IWshRuntimeLibrary

    Public Class Form1

     

        Dim StartupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup)

        Dim shortcutFilePath As String = StartupFolder & "\MyShortcut.lnk"

     

        ' 在开始菜单添加或删除快捷方式

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Dim WshShell As WshShellClass = New WshShellClass

            Dim MyShortcut As IWshRuntimeLibrary.IWshShortcut

            ' 在开始菜单中创建一个快捷方式

            MyShortcut = CType(WshShell.CreateShortcut(shortcutFilePath), IWshRuntimeLibrary.IWshShortcut)

            MyShortcut.TargetPath = Application.StartupPath & "\YourAppName.exe"

            ' e.g.  MyShortcut.TargetPath = "C:\WINDOWS\system32\calc.exe"

            MyShortcut.Save()

        End Sub

     

    '删除快捷方式

      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

            If IO.File.Exists(shortcutFilePath) Then

                IO.File.Delete(shortcutFilePath)

            End If

        End Sub

    End Class

    同样,使用下面的代码可以创建桌面快捷方式:

     

    Dim DesktopFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

    Dim StartMenuFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月3日 2:07