Win 7 rus
Есть файл: C:\Users\test_user\Downloads\work\_virtual_folder_path.txt
Некая служба (а точнее Windows Search) программно возвращает этот путь как:
C:\Users\test_user\Загрузки\work\_virtual_folder_path.txt, но такой путь не понимает, например,
CreateFileW, которой я пытаюсь открыть файл для чтения.
Как быстро преобразовать путь, включающий в себя виртуальную папку, в реальный путь в файловой системе?
H>Как быстро преобразовать путь, включающий в себя виртуальную папку, в реальный путь в файловой системе?
Никак. В частности папка C:\Users\test_user\Загрузки вообще не существует в файловой системе.
Можно только получить PIDL этой папки и работать через shell functions.
Самое простое сделать табличку преобразований типа: Пользователи=Users
Загрузки=Downloads
преобразовать и работать как с обычным файловым путем.
neokoder
Да, с табличкой была идея, но программа обрабатывает множество файлов,
и совсем не хочется для каждого файла парсить path на наличие виртуальных папок.
Думал, есть какой то другой способ.
В итоге проблема решена средствами самой службы поиска, нашелся способ возвратить из нее полный физический путь к файлу
без локализированных имен папок.