0

如何从 Programs 文件夹中删除程序图标?

4

5 回答 5

6

要获取开始菜单位置,请使用SpecialFolder 枚举。类似以下内容应该可以帮助您入门:

string startMenuDir = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu);
string shortcut = Path.Combine(startMenuDir, @"The Company\MyShortcut.lnk");
if (File.Exists(shortcut))
    File.Delete(shortcut);

如果您不知道确切的文件名,您可以使用Directory.GetFilesDirectory.GetDirectories枚举开始菜单文件夹中的所有文件。您还可以使用Directory.Delete删除整个文件夹(“The Company”)

于 2008-10-17T10:28:57.837 回答
5

快捷方式文件是一个普通文件,它恰好将调用重定向(单击)到另一个文件、程序或目录。要删除快捷方式,您可以使用File.Delete方法。

File.Delete(path_to_lnk_file);
于 2008-10-17T10:15:22.637 回答
2

在 Windows 资源管理器中,永远不会显示链接的文件扩展名 (lnk),即使您禁用了隐藏已知文件类型的扩展名功能。

因此,如果您想删除“foobar.exe 的快捷方式”快捷方式,您必须这样做

File.Delete("Shortcut to foobar.exe.lnk");
于 2008-10-17T10:38:44.620 回答
1

您可以对快捷方式使用标准文件操作。

我相信文件扩展名是 lnk。

于 2008-10-17T10:12:16.153 回答
0

1-确保使用 OpenFileDialog 获取实际文件链接


OpenFileDialog od = new OpenFileDialog(); od.DereferenceLinks = false;

使用 DereferenceLinks

2 使用shell lib获取包括路径在内的所有信息


获取快捷方式信息


最终使用 c# file.move 或 delete 根据路径

于 2020-01-20T19:46:03.880 回答