5

我使用类似于本页底部描述的代码的 IShellLink 接口在桌面上创建了一个快捷方式 (.lnk) 文件。

所以我的假设是,要删除这个快捷方式,我可以简单地在 .lnk 文件上调用DeleteFile,但显然这还不够……如果我这样做,我会得到如下所示的快捷方式文件的残余:

在此处输入图像描述

但有趣的是,如果我浏览桌面文件夹中的文件,比如使用 Windows 资源管理器,.lnk 文件实际上并不存在。我看到的是桌面 GUI 表面上的一些工件。

知道如何删除快捷方式(微软希望它完成的方式吗?)

4

1 回答 1

3

好的,根据上面的建议,这是之后需要调用以刷新 shell 的 API:

SHChangeNotify(SHCNE_DELETE, SHCNF_PATH | SHCNF_FLUSHNOWAIT, pDeletedFilePath, NULL);
于 2013-01-22T20:17:30.957 回答