Есть ли специальный способ удалить ярлык с рабочего стола?

Я создал ярлык (.lnk) на рабочем столе, используя интерфейс IShellLink, аналогичный коду, описанному внизу эта страница.

Поэтому я предположил, что для удаления этого ярлыка я мог бы просто позвонить Удалить файл в файле .lnk, но этого явно недостаточно … если я это сделаю, то получу остаток файла ярлыка, который выглядит следующим образом:

введите описание изображения здесь

Но что интересно, если я просматриваю файлы в папке рабочего стола, например, с помощью проводника Windows, файла .lnk на самом деле там нет. То, что я вижу, это некоторый артефакт на поверхности графического интерфейса рабочего стола.

Любая идея, как удалить ярлык (так, как Microsoft хочет это сделать?)

5

Решение

Хорошо, согласно предложению выше, вот API, который должен быть вызван впоследствии для обновления оболочки:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]