Предварительный просмотр файла Windows - аналогично панели предварительного просмотра в проводнике - PullRequest
3 голосов
/ 04 марта 2011

В Windows 7 (и я думаю, что Vista) в проводнике есть панель предварительного просмотра, которая позволяет просматривать содержимое некоторых типов файлов (MS Office, изображения и т. Д.).Имеется ли какой-либо API, который позволяет вам получить доступ к этой функции?

Я использовал WindowsAPICodePack , который имеет ShellFile.Thumbnail, но это, кажется, предоставляет только пиктограмму для файлатипы, которые Explorer может просматривать.Например, для файла Word он отображает только значок MS Word, где проводник может фактически просмотреть содержимое файла.Он работает так, как я хочу для типов изображений, но не для других типов файлов.

Ответы [ 4 ]

4 голосов
/ 04 марта 2011
2 голосов
/ 04 марта 2011

Пример кода (хотя трудно читаемый ... приходится выделять текст) находится здесь: Размещение предварительных просмотров Vista / Office 2007 в приложении winform

0 голосов
/ 28 апреля 2015

Для простого предварительного просмотра текста вы также можете добавить раздел реестра

[HKEY_CLASSES_ROOT\.ext]
"PerceivedType"="text"

. Для более сложных задач Microsoft предоставляет интерфейс оболочки IPreviewHandler [MSDN] , который можно реализовать в виде COM.объект для предоставления пользовательского предварительного просмотра.Также имеется C ++ пример [MSDN] .

Объект будет инициализирован с помощью IInitializeWithFile [MSDN] или IInitializeWithStream [MSDN]

После того, как вы реализовали это, вам нужно зарегистрировать его в своей системе [MSDN] для файлов другого типа, таких как:

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {<Class-ID-of-your-COM-object>}
0 голосов
/ 18 декабря 2013

Коммерческий готовый к использованию предварительный просмотр для .Net на основе IPreviewHandler можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...