Временный интернет-файл (читается из SharePoint через IE). Как мне найти URL? - PullRequest
1 голос
/ 11 апреля 2009

Когда пользователь 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.

Ответы [ 2 ]

2 голосов
/ 14 апреля 2009

Возможно, у этого сайта есть ответ: Как SharePoint взаимодействует с Word через ActiveX

Другим вариантом может быть подключение к событию SharePoint ItemCheckingOut. Пример 1 Пример 2 . В случае, если вы можете получить информацию об URL и создать временный файл с информацией или передать информацию вашей программе.

Ссылка на информацию элемента управления ActiveX - Может быть, этот элемент управления запущен на всех? Возможно, вы сможете подключиться к этому.

0 голосов
/ 13 апреля 2009

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

...