vignettes Explorer (winXP)
-
12-09-2019 - |
Question
J'ai un format de fichier que je dois être en mesure de montrer les vignettes dans l'explorateur. Étant donné que le système cible est Windows XP, l'API Vista PreviewHandler ne sera pas approprié. Ill être en utilisant c ++.
Comment puis-je faire
La solution
Vous devez vous enregistrer une extension du shell pour votre type de fichier. L'extension contient du code qui extrait / génère la vignette en mettant en œuvre l'interface IExtractImage.
Autres conseils
https://github.com/reliak/moonpdf / arbre / maître / ext / sumatra / src / prévisualiseur est parfait exemple.
Pour construire les deux versions x86 et x64 de DLL I utilise VS 2010 SP1 avec Win7 SDK x64 (pour <thumbcache.h>
) installés sur Windows 7 x64. DLLs bâtissaient fonctionne très bien sur Win7 et Win10 soit bitness.
Aussi, ne pas oublier le drapeau de linker /MD
pour éviter la nécessité d'installer Microsoft Visual C ++ 2010 Redistributable Package (x86) sur Windows XP.
Les lignes suivantes peuvent être ajoutées à "targetver.h"
pour éviter l'importation et l'utilisation de nouvelles fonctions des versions plus récentes des DLL système Windows (par exemple, il n'y a pas RegDeleteTreeW
dans advapi.dll
de Windows XP):
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#include <winsdkver.h>
#include <SDKDDKVer.h>
En outre, il a la mise en œuvre de visualisateur pour certains formats de fichiers, mais les interfaces connexes peut être complètement omise dans l'implémentation.