Вопрос

У меня есть формат файла, который мне нужно отображать в миниатюрах проводника.Поскольку целевой системой является Windows XP, API Vista PreviewHandler не подойдет.Я буду использовать C++.

Как бы я это сделал?

Это было полезно?

Решение

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

Видеть: Интерфейс IExtractImage в MSDN

Другие советы

https://github.com/reliak/moonpdf/tree/master/ext/sumatra/src/previewer это идеальный пример.

Для сборки версий DLL x86 и x64 я использую VS 2010 с пакетом обновления 1 вместе с Win7 x64 SDK (для <thumbcache.h>), установленный на Windows 7 x64.Встроенные библиотеки DLL отлично работают на Win7 и Win10 любой разрядности.

Также не забудь /MD флаг компоновщика, чтобы избежать необходимости установки Распространяемый пакет Microsoft Visual C++ 2010 (x86) на WinXP.

Следующие строки могут быть добавлены в "targetver.h" чтобы избежать импорта и использования новых функций из более новых версий системных DLL Windows (скажем, нет RegDeleteTreeW в WinXP advapi.dll):

#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#include <winsdkver.h>
#include <SDKDDKVer.h>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top