2012-02-08 123 views
5

使用C#,我怎樣才能從用戶的桌面刪除快捷方式?如何以編程方式從用戶桌面刪除快捷方式?

沒有成功嘗試這樣做:

string WinUser = WindowsIdentity.GetCurrent().Name; 
WinUser = WinUser.Substring(WinUser.LastIndexOf("\\") + 1); 

File.Delete("C:\\Users\\" + WinUser + "\\Desktop\\Touch Data.lnk"); 

我缺少什麼?欣賞關於此的任何建議!

回答

11

嘗試以下操作:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
File.Delete(Path.Combine(desktopPath, "Touch Data.lnk")); 
3

我在這個問題,我問這個問題:

Why does FolderBrowserDialog not allow the desktop as SelectedPath when RootFolder is MyComputer?

我得到的答案是這樣的:

顯然,在桌面Win 7的實際不存在的路徑

c:\ Users \ username \ Desktop

系統假裝它在命令提示符下並在Windows瀏覽器中執行。但由於它不在那裏,因此 要求其路徑位於RootFolder下的SelectedPath部分不允許以這種方式設置 中的路徑。

這可能是這個問題。您應該使用Environment.GetFolderPath函數來獲取真實桌面上的句柄。 :)

0
System.IO.File.Delete("C:/Users/Public/Desktop/Game.lnk"); 

:))WIN7非標準的用戶名公衆

0

我有,我必須檢查是否存在快捷方式,然後將其刪除同樣的情景。我用下面的代碼

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
if(System.IO.File.Exists(Path.Combine(desktopPath , "shortcut.lnk"))) 
{ 
System.IO.File.Delete(Path.Combine(desktopPath , "shortcut.lnk")); 
} 
相關問題