0

好吧,看来我无法从桌面上删除 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 文件不会移动。

任何关于正在发生的事情的想法将不胜感激。

4

2 回答 2

1

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

您可以通过以下方式获得它的路径

Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory)
于 2015-04-25T03:33:53.657 回答
1

尝试以下操作:

var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var app = appName + ".lnk";
File.Delete(Path.Combine(desktop, app));
于 2013-07-29T20:28:46.563 回答