Maison >développement back-end >C++ >Comment récupérer des miniatures de fichiers à l'aide de l'API Windows en C# ?

Comment récupérer des miniatures de fichiers à l'aide de l'API Windows en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-03 09:46:39530parcourir

How to Retrieve File Thumbnails Using the Windows API in C#?

Récupération des miniatures de fichiers via l'API Windows en C

Introduction

L'accès aux miniatures de fichiers est une fonctionnalité utile dans les applications modernes . Cependant, analyser et créer manuellement des vignettes est une tâche fastidieuse et peu pratique. Cet article fournit une solution pour récupérer des vignettes à l'aide de l'API Windows via C#.

Question

Comment pouvons-nous obtenir l'image miniature de n'importe quel fichier du système via le shell en utilisant C# ?

Réponse

La solution consiste à utiliser le Package NuGet WindowsAPICodePack. Voici l'implémentation :

// Install WindowsAPICodePack-Shell through NuGet
using Shell32;

// Instantiate a ShellFile object
ShellFile shellFile = ShellFile.FromFilePath(pathToYourFile);

// Retrieve the thumbnail as a Bitmap
Bitmap shellThumb = shellFile.Thumbnail.ExtraLargeBitmap;

Explication

Le package WindowsAPICodePack fournit la classe ShellFile, qui vous permet d'interagir avec le shell. En spécifiant le chemin du fichier, vous pouvez créer un objet ShellFile. La propriété Thumbnail donne accès à différentes tailles de vignettes, ExtraLargeBitmap représentant la plus grande vignette disponible.

Considérations

  • Cette solution fonctionne pour les fichiers pour lesquels Windows prend en charge les vignettes natives. pour, tels que .DOC, .PDF et .3DM.
  • Des extensions de shell personnalisées peuvent fournir des prise en charge des vignettes pour les formats de fichiers non pris en charge.
  • Assurez-vous d'utiliser la taille de vignette adaptée aux exigences de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn