我使用IShellLink接口在桌面上創建了一個類似於this page底部所述代碼的快捷方式(.lnk)文件。是否有一種特殊的方法從桌面上刪除快捷方式?
所以我的假設是,要刪除這個快捷方式,我可以簡單地在.lnk文件上調用DeleteFile,但顯然這是不夠的......如果我這樣做,我會得到一個如下所示的快捷方式文件的剩餘部分:
但有趣的是,如果我瀏覽桌面文件夾中的文件,說與Windows資源管理器,.lnk文件實際上不是在那裏。我看到的是桌面GUI表面上的一些工件。
不知道如何刪除快捷方式
好吧,我想我明白了。發帖前應該做更多的研究,對不起每個人。我會保留它,但對於那些也遇到它的人。您需要在刪除.lnk文件後調用以下內容:'SHChangeNotify(SHCNE_DELETE,SHCNF_PATH | SHCNF_FLUSHNOWAIT,pDeletedFilePath,NULL);' – c00000fd
請將您的評論發佈爲答案。根據常見問題解答,回答您自己的問題不僅僅是被允許的,它是受到鼓勵的。 :-) –
添加上下文:這僅僅是刷新瀏覽器(它也顯示桌面圖標)。它可能會自動發生,或者在某些窗口的時間延遲上發生。當通過Shell API ShFileOp刪除文件時(看起來過度殺毒),explicitrefresh不是必需的。 – peterchen