Shell: virtual folder в пути к файлу.
От: headcrash  
Дата: 05.02.14 19:57
Оценка:
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, которой я пытаюсь открыть файл для чтения.

Как быстро преобразовать путь, включающий в себя виртуальную папку, в реальный путь в файловой системе?
Re: Shell: virtual folder в пути к файлу.
От: Aniskin  
Дата: 06.02.14 03:18
Оценка:
Здравствуйте, headcrash, Вы писали:

H>Некая служба (а точнее Windows Search) программно возвращает этот путь как:


А эта служба возвращает объект только в виде строки с путем и именем? Может есть функция получения PIDL объекта?
Re: Shell: virtual folder в пути к файлу.
От: neokoder  
Дата: 06.02.14 11:33
Оценка:
H>Как быстро преобразовать путь, включающий в себя виртуальную папку, в реальный путь в файловой системе?
Никак. В частности папка C:\Users\test_user\Загрузки вообще не существует в файловой системе.
Можно только получить PIDL этой папки и работать через shell functions.

Самое простое сделать табличку преобразований типа:
Пользователи=Users
Загрузки=Downloads

преобразовать и работать как с обычным файловым путем.
Re[2]: Shell: virtual folder в пути к файлу.
От: headcrash  
Дата: 06.02.14 11:44
Оценка:
neokoder
Да, с табличкой была идея, но программа обрабатывает множество файлов,
и совсем не хочется для каждого файла парсить path на наличие виртуальных папок.

Думал, есть какой то другой способ.

В итоге проблема решена средствами самой службы поиска, нашелся способ возвратить из нее полный физический путь к файлу
без локализированных имен папок.

Всем спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.