【发布时间】:2008-10-17 10:09:59
【问题描述】:
如何从 Programs 文件夹中删除程序图标?
【问题讨论】:
如何从 Programs 文件夹中删除程序图标?
【问题讨论】:
要获取开始菜单位置,请使用SpecialFolder enumeration。类似以下内容应该可以帮助您入门:
string startMenuDir = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu);
string shortcut = Path.Combine(startMenuDir, @"The Company\MyShortcut.lnk");
if (File.Exists(shortcut))
File.Delete(shortcut);
如果您不知道确切的文件名,您可以使用Directory.GetFiles 或Directory.GetDirectories 枚举开始菜单文件夹中的所有文件。 您还可以使用 Directory.Delete
删除整个文件夹(“The Company”)【讨论】:
快捷方式文件是一个普通文件,它恰好将调用重定向(单击)到另一个文件、程序或目录。要删除快捷方式,您可以使用File.Delete 方法。
File.Delete(path_to_lnk_file);
【讨论】:
在 Windows 资源管理器中,永远不会显示链接的文件扩展名 (lnk),即使您禁用了隐藏已知文件类型的扩展名功能。
所以如果你想删除'Shortcut to foobar.exe'快捷方式,你必须这样做
File.Delete("Shortcut to foobar.exe.lnk");
【讨论】:
您可以在快捷方式上使用标准文件操作。
我相信文件扩展名是 lnk。
【讨论】:
1- 确保使用 OpenFileDialog 获取实际文件链接
OpenFileDialog od = new OpenFileDialog(); od.DereferenceLinks = false;
2 使用 shell lib 获取包括路径在内的所有信息
【讨论】: