如何以编程方式从用户桌面删除快捷方式?

发布于 2025-01-03 05:56:33 字数 278 浏览 2 评论 0原文

使用 C#,如何从用户桌面删除快捷方式?

尝试过但没有成功:

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

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

我错过了什么?感谢对此的任何建议!

Using C#, how can I delete a shortcut from a user's desktop?

Tried this with no success:

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

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

What am I missing? Appreciate any advice on this!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

手心的海 2025-01-10 05:56:33

请尝试以下操作:

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

Try the following:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
File.Delete(Path.Combine(desktopPath, "Touch Data.lnk"));
神经大条 2025-01-10 05:56:33

我在这个问题中遇到了这个问题:

为什么当 RootFolder 是 MyComputer 时,FolderBrowserDialog 不允许桌面作为 SelectedPath?

我得到的答案是这样的:

显然,Win 7中的桌面实际上并不存在于该路径

c:\Users\用户名\桌面

系统假装它在命令提示符和 Windows 中执行此操作
探险家。但由于它不存在,因此 SelectedPath 的部分
要求其路径位于 RootFolder 下不允许设置路径
就这样。

有可能这就是问题所在。您应该使用Environment.GetFolderPath 函数来获取真实桌面的句柄。 :)

I had this issue in this question I asked:

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

The answer I got was this:

Apparently, the Desktop in Win 7 doesn't actually exist at the path

c:\Users\username\Desktop

The system pretends it does at the command prompt and in windows
explorer. But since it isn't there, the part of SelectedPath that
requires its path to be under RootFolder disallows setting the path in
that way.

It's possible this is the issue. You should use the Environment.GetFolderPath function to get a handle on the real desktop. :)

弥枳 2025-01-10 05:56:33

我遇到了同样的情况,我必须检查快捷方式是否存在然后将其删除。我使用了以下代码

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

I had the same scenario where I had to check if the shortcut exists and then delete it. I used the following code

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"));
}
我只土不豪 2025-01-10 05:56:33
System.IO.File.Delete("C:/Users/Public/Desktop/Game.lnk");

:)) win7 标准用户名 public

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

:)) win7 standart user name public

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文