我有一种文件格式,需要能够在资源管理器缩略图中显示。由于目标系统是 windows XP,Vista PreviewHandler API 将不适合。我将使用 C++。
我该怎么做?
我有一种文件格式,需要能够在资源管理器缩略图中显示。由于目标系统是 windows XP,Vista PreviewHandler API 将不适合。我将使用 C++。
我该怎么做?
您需要为您的文件类型注册一个 shell 扩展名。该扩展包含通过实现 IExtractImage 接口提取/生成缩略图的代码。
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>
此外,它还实现了某些文件格式的预览器,但在您的实现中可以完全省略相关接口。