Мне требуется реализовать drag-drop из своей программы в Explorer с созданием соответствующих файлов. С простыми файлами я разобрался и вроде все работает. Я реализую форматы CFSTR_FILEGROUPDESCRIPTOR и CFSTR_FILECONTENTS с содержимым файла.
Теперь надо сделать то же самое, но чтобы создавалась структура каталогов (предполагается, что в моей программе есть иерархическая структура, которую я могу отобразить на структуру каталогов). Мне посоветовали в FILEDESCRIPTOR класть не просто имя файла, а относительный путь со всей цепочкой каталогов. И это в общем работает (действительно создаются все каталоги), но есть проблема. Почему-то созданные каталоги потом невозможно удалить (sharing violation). Причем даже после выхода из всех приложений. Что тут может быть не так? Или вообще это надо делать по-другому?