Когда пользователь IE щелкает ссылку на файл, находящийся в SharePoint (и пользователь выбирает доступ «только для чтения»), файл копируется во временные файлы Интернета, мое приложение открывается и передает это имя файла в качестве параметра. Я пытаюсь внедрить кнопку «Проверить» в моем приложении, чтобы пользователь мог переключиться из режима «только чтение» в режим проверки и редактирования. Я не смог найти способ узнать URL-адрес SharePoint для файла. При извлечении и редактировании проблем нет: есть запись в реестре, которая сопоставляет файл в моей системе с URL-адресом в SharePoint; Я не нашел ничего подобного для файлов только для чтения.
EDIT:
В проводнике Windows доступен столбец URL, но когда я отображаю этот столбец (в проводнике), все значения остаются пустыми. Кроме того, я не могу найти файл api с информацией о файле, который вернет мне это значение.
UPDATE:
Я нашел несколько многообещающих вызовов в wininet.lib: FindFirstUrlCacheEntryEx (и «next») вместе с FindFirstUrlCacheGroup (и next). Похоже, они не возвращали никаких данных, и из того, что я прочитал, они только возвращают использование моим приложением кеша вызовов API wininet, а не I.E.
Я также попытался просмотреть список COM-вызовов, которые IE сделал в мое приложение при открытии файла, чтобы увидеть, какие интерфейсы он видел, если я поддерживал. Одним из многообещающих был интерфейс IMonikerProp, который, когда я его реализовал, вызывался ... однако он предоставил мне только свойство типа mime, classid моего приложения и флаг TrustedDownload.