从桌面删除快捷方式

时间:2013-07-29 20:23:25

标签: c# shortcut delete-file

好吧,我似乎无法从桌面删除lnk文件。

string pathtoLink = "G:\\Personal Files\\Desktop\\" + appName + ".lnk";
File.SetAttributes(pathtoLink.Trim(), FileAttributes.Normal);
File.Delete(pathtoLink);

do
{
    File.Delete(pathtoLink);
} while (File.Exists(pathtoLink) == true);

上面的代码将进入do循环 - 并且无限循环,它确认文件存在于该位置 - 但只是不会删除!我可以从任何其他位置删除快捷方式没有问题,并且可以删除桌面上的实际文件 - 但是lnk文件不会移动。

任何有关最新情况的想法都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var app = appName + ".lnk";
File.Delete(Path.Combine(desktop, app));

答案 1 :(得分:1)

这些缺少的快捷方式位于“所有用户”桌面上,它包含显示给系统每个用户的快捷方式。

您可以通过

获取它的路径
Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory)