Comment lire les propriétés des fichiers avec IpropertyStorage?

comment lire les propriétés (comme le titre, l’auteur, le nombre de pages, etc.) des fichiers utilisant iPropertyStorage? Quelqu’un sait le code en c # s’il vous plaît poster

Réellement,

J’essaie de programmer (à l’aide de c #) de lire les propriétés du fichier (titre, résumé, auteur, commentaires, etc.). Contenu affiché dans l’onglet Résumé lorsque vous voyez les propriétés d’un fichier).

Les classes FileInfo et FileSystemInfo n’exposent que les propriétés standard (heure de création, heure de modification, etc.) et j’essaie donc d’utiliser ipropertyStorage. tout le monde sait que la solution post sera utile.

Une telle programmation avec Shell est toujours difficile à faire. Vous aurez une chance sur ce point cependant, shell32.dll a une interface d’automatisation qui est appelable à partir de clients COM. La propriété ShellFolderItem :: ExtendedProperty les rend disponibles. Vous aurez besoin d’un projet WPF ou Windows Forms pour que COM soit correctement initialisé. Utilisez Projet + Ajouter une référence, onglet Parcourir, sélectionnez c: \ windows \ system32 \ shell32.dll. Cet exemple de code lit la propriété Author du fichier c: \ temp \ test.txt:

Shell32.Shell shl = new Shell32.ShellClass(); Shell32.Folder dir = shl.NameSpace(@"c:\temp"); Shell32.FolderItem itm = dir.Items().Item("test.txt"); Shell32.ShellFolderItem itm2 = (Shell32.ShellFolderItem)itm; ssortingng prop = (ssortingng)itm2.ExtendedProperty("{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 4"); Console.WriteLine(prop); 

Les valeurs d’ID de propriété (PID) que vous pouvez utiliser sont décrites dans cet article du Kit de développement logiciel (SDK) .