C++ 是否有特殊方法从桌面删除快捷方式?

C++ 是否有特殊方法从桌面删除快捷方式?,c++,windows,winapi,desktop-application,shortcut,C++,Windows,Winapi,Desktop Application,Shortcut,我使用IShellLink界面在桌面上创建了一个快捷方式(.lnk)文件,类似于本文底部描述的代码 所以我的假设是,要删除这个快捷方式,我可以简单地调用.lnk文件,但显然这还不够。。。如果这样做,我会得到一个快捷方式文件的剩余部分,如下所示: 但有趣的是,如果我浏览桌面文件夹中的文件,比如说使用Windows资源管理器,那么.lnk文件实际上并不存在。我看到的是桌面GUI表面上的一些工件 您知道如何删除快捷方式(Microsoft希望的方式)吗?好的,根据上面的建议,以下是刷新shell后需

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

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

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


您知道如何删除快捷方式(Microsoft希望的方式)吗?

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

SHChangeNotify(SHCNE_DELETE, SHCNF_PATH | SHCNF_FLUSHNOWAIT, pDeletedFilePath, NULL);

好的,我想我明白了。在发布之前应该做更多的研究,对不起大家。不过,我会把它留给那些遇到它的人。删除.lnk文件后需要调用以下命令:
SHChangeNotify(SHCNE_DELETE,SHCNF_PATH | SHCNF_FLUSHNOWAIT,pDeletedFilePath,NULL)请将您的评论作为答案发布。根据常见问题解答,不仅允许回答自己的问题,还鼓励回答自己的问题。:-)添加上下文:这只是刷新资源管理器(它也显示桌面图标)。在某些windows版本上,它可能会自动发生,也可能会有很小的时间延迟。当通过Shell API ShFileOp删除文件时(看起来有些过分),不需要显式刷新。我们可以用同样的方法删除文件夹快捷方式吗?@SaiKrishnaPalagummi:IDK。我已经有一段时间没有处理这件事了。你必须亲自尝试并公布结果。