如何用程序删除windows中损坏的快捷方式

How to remove broken shortcuts in windows programatically

本文关键字:损坏 快捷方式 windows 何用 程序 删除      更新时间:2023-10-16

我正在寻找一种方法,通过c/c++代码从我的windows机器中删除损坏的快捷方式。我发现了一些同样的软件(Microsoft Fix It),但在网上没有关于如何通过编码实现这一点的信息。

让我知道是否有任何示例代码或api可以实现相同的功能。

注意:对于其他人来说,我指的是什么样的快捷方式有点困惑,这里基本上我是在寻找桌面和资源管理器快捷方式作为第一步。

您没有指定什么类型的快捷方式,所以我认为您希望使用桌面和/或开始菜单快捷方式。

这需要几个步骤:

  1. 首先,您需要找到快捷方式,即".lnk"文件。您可以使用SHGetFolderPath命令来查找一些相关文件夹(如"开始"菜单)的位置。有关更多详细信息,请参阅此SO答案
  2. 在Windows中处理快捷方式文件并非易事。请参阅MSDN中的shell链接参考。查找"解析快捷方式"示例。查看"ResolveIt"函数,了解如何查询快捷方式文件的各种属性
  3. 现在查找快捷方式的目的地,并确定它是否已损坏(例如,目的地路径不存在)