2

我有一种文件格式,需要能够在资源管理器缩略图中显示。由于目标系统是 windows XP,Vista PreviewHandler API 将不适合。我将使用 C++。

我该怎么做?

4

2 回答 2

4

您需要为您的文件类型注册一个 shell 扩展名。该扩展包含通过实现 IExtractImage 接口提取/生成缩略图的代码。

请参阅:MSDN 上的 IExtractImage 接口

于 2009-04-20T13:15:49.603 回答
0

https://github.com/reliak/moonpdf/tree/master/ext/sumatra/src/previewer就是完美的例子。

要构建 x86 和 x64 版本的 DLL,我使用带有 SP1 的 VS 2010 以及<thumbcache.h>安装在 Windows 7 x64 上的 Win7 x64 SDK(用于)。构建的 DLL 在任一位的 Win7 和 Win10 上都可以正常工作。

也不要忘记/MD链接器标志以避免在 WinXP 上安装Microsoft Visual C++ 2010 Redistributable Package (x86) 。

可以添加下一行"targetver.h"以避免导入和使用来自较新版本的 Windows 系统 DLL 的新函数(例如,RegDeleteTreeW在 WinXP中没有advapi.dll):

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

此外,它还实现了某些文件格式的预览器,但在您的实现中可以完全省略相关接口。

于 2018-06-08T11:37:02.123 回答