/ / Zmazať skratku z desktopu - c #, skratku, delete-file

Odstrániť zástupcu z počítača - c #, skratka, odstrániť súbor

Zdá sa, že nemôžem odstrániť súbor lnk z pracovnej plochy.

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);

Vyššie uvedený kód zadá do slučky - a ponechálooping donekonečna, potvrdzuje, že súbor existuje na tomto mieste - ale jednoducho sa mazať! Môžem odstrániť zástupcu z akéhokoľvek iného miesta žiadne problémy, a skutočné súbory z pracovnej plochy možno odstrániť - ale lnk súbory jednoducho zvyknutý posun.

Akékoľvek predstavy o tom, čo sa deje, by sa ocenili.

odpovede:

1 pre odpoveď č. 1

Vyskúšajte nasledujúce:

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

1 pre odpoveď č. 2

Chýbajúce skratky sú na pracovnej ploche "Všetci používatelia", obsahuje skratky, ktoré sa zobrazujú pre každého používateľa systému.

Môžete k nemu dostať cestu cez

Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory)