【问题标题】:How to remove a shortcut file in c#如何在c#中删除快捷方式文件
【发布时间】:2008-10-17 10:09:59
【问题描述】:

如何从 Programs 文件夹中删除程序图标?

【问题讨论】:

    标签: c# file shortcut


    【解决方案1】:

    要获取开始菜单位置,请使用SpecialFolder enumeration。类似以下内容应该可以帮助您入门:

    string startMenuDir = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu);
    string shortcut = Path.Combine(startMenuDir, @"The Company\MyShortcut.lnk");
    if (File.Exists(shortcut))
        File.Delete(shortcut);
    

    如果您不知道确切的文件名,您可以使用Directory.GetFilesDirectory.GetDirectories 枚举开始菜单文件夹中的所有文件。 您还可以使用 Directory.Delete

    删除整个文件夹(“The Company”)

    【讨论】:

      【解决方案2】:

      快捷方式文件是一个普通文件,它恰好将调用重定向(单击)到另一个文件、程序或目录。要删除快捷方式,您可以使用File.Delete 方法。

      File.Delete(path_to_lnk_file);
      

      【讨论】:

        【解决方案3】:

        在 Windows 资源管理器中,永远不会显示链接的文件扩展名 (lnk),即使您禁用了隐藏已知文件类型的扩展名功能。

        所以如果你想删除'Shortcut to foobar.exe'快捷方式,你必须这样做

        File.Delete("Shortcut to foobar.exe.lnk");
        

        【讨论】:

          【解决方案4】:

          您可以在快捷方式上使用标准文件操作。

          我相信文件扩展名是 lnk。

          【讨论】:

            【解决方案5】:

            1- 确保使用 OpenFileDialog 获取实际文件链接


            OpenFileDialog od = new OpenFileDialog(); od.DereferenceLinks = false;

            use DereferenceLinks

            2 使用 shell lib 获取包括路径在内的所有信息


            GetShortcutInfo


            最终使用c# file.根据路径移动或删除

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-10-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多