Виртуальные файлы открываются из временных интернет-файлов - PullRequest
0 голосов
/ 16 сентября 2008

Я создал расширение пространства имен с корнем в Desktop. Основная цель расширения - предоставить виртуальный список ZIP-файлов, которые представляют собой список настраиваемых каталогов. Когда пользователь щелкает один из этих элементов, содержимое соответствующего каталога архивируется на месте, а полученный ZIP-файл сохраняется в папке кэша.

Все это хорошо работает, за исключением незначительной проблемы. Если мы зайдем в Проводник Windows, откройте расширение и дважды щелкните по элементу, который открывается из кэша. [ВЕРНО]

Если, с другой стороны, мы открываем его с помощью Open Dialog, то открываемый файл - один из каталога временных файлов Интернета. [INCORRECT]

Что я должен изменить для открытия диалога (при использовании, например, через notepad.exe), чтобы открыть файл из папки кэша, а не из временных файлов Интернета. Я всегда пытался отправить полное имя файла в IShellFolder :: GetDisplayNameOf, но безуспешно.

Ответы [ 2 ]

0 голосов
/ 29 июля 2009

Проблема была устранена путем маскировки SFGAO_FILESYSTEM в атрибутах, возвращаемых реализацией метода интерфейса IShellFolder :: GetAttributesOf .

0 голосов
/ 18 сентября 2008

Похоже, вы не передаете правильный начальный каталог (в параметре lpstrInitialDir или lpstrFile вашей структуры OPENFILENAME).

Введите каталог кеша в lpstrInitialDir и оставьте lpstrFile пустым, и он должен работать.

...