У меня есть реализация из CommonDialog
, которая позволяет пользователю многократно выбирать папки и . Пока параметр Explorer «Скрыть расширения для известных типов файлов» не установлен (по умолчанию установлен), класс работает нормально. Если он установлен (известные расширения больше не являются частью имени файла), он не будет работать, так как я получаю имена выбранных файлов и папок напрямую (LVM_GETITEMTEXT
) из элементов списка.
Я нашел статью журнала MSDN , в которой описывается решение на C ++. Идея состоит в том, чтобы получить объект PIDL поддержки из выбранных элементов, которые содержат полное имя файла, включая расширение, независимое от настроек проводника.
Есть идеи, как перенести это на C #?