Meilleur auteur de réponses
Accédé aux propriétés "détaillées" d'un fichier

Question
-
Bonjour,
Comment puis-je faire pour accéder aux propriétés "détaillées" d'un fichier, comme je peux le faire dans l'Explorateur Windows sur un fichier Image
ou je peux définir un titre ou un mot-clé ?
J'ai fait avec FileVersionInfo et FileSystem mais il n'y a pas ces propriétés.
Réponses
-
Re bonjour
En parcourant le NET j'ai vu cette sourcehttp://www.vbfrance.com/telecharger.aspx?ID=38910
Je pense que cela devrai répondre a toute vos questions
A bientot
Cordialement, Troxsa- Marqué comme réponse li31 mercredi 3 novembre 2010 14:02
Toutes les réponses
-
Bonjour,
Utilisez la classe FileInfo qui permet de récupérer toutes les informations basiques d'un fichier : http://msdn.microsoft.com/fr-fr/library/system.io.fileinfo(VS.80).aspx :
Dim fi As FileInfo fi = New FileInfo("< Votre fichier >") Console.WriteLine(fi.LastAccessTime)
Cordialement
Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr -
Bonjour,
FileVersionInfo sert uniquement pour des types de fichiers exécutable, il peut être utiliser aussi pour des fichiers de type texte mais certaine propriété ne servirons pas
FileInfo sert pour connaitre aussi des informations au fichier de type acces, creation, date modification, etc ...
Dim ofileInfo As FileVersionInfo = FileVersionInfo.GetVersionInfo("C:\test.exe" ) Console.WriteLine("Comments : {0}" , ofileInfo.Comments) Console.WriteLine("CompanyName : {0}" , ofileInfo.CompanyName) Console.WriteLine("FileBuildPart : {0}" , ofileInfo.FileBuildPart) Console.WriteLine("FileDescription : {0}" , ofileInfo.FileDescription) Console.WriteLine("FileMajorPart : {0}" , ofileInfo.FileMajorPart) Console.WriteLine("FileMinorPart : {0}" , ofileInfo.FileMinorPart) Console.WriteLine("FileName : {0}" , ofileInfo.FileName) Console.WriteLine("FilePrivatePart : {0}" , ofileInfo.FilePrivatePart) Console.WriteLine("FileVersion : {0}" , ofileInfo.FileVersion) Console.WriteLine("InternalName : {0}" , ofileInfo.InternalName) Console.WriteLine("IsDebug : {0}" , ofileInfo.IsDebug) Console.WriteLine("IsPatched : {0}" , ofileInfo.IsPatched) Console.WriteLine("IsPreRelease : {0}" , ofileInfo.IsPreRelease) Console.WriteLine("IsPrivateBuild : {0}" , ofileInfo.IsPrivateBuild) Console.WriteLine("IsSpecialBuild : {0}" , ofileInfo.IsSpecialBuild) Console.WriteLine("Language : {0}" , ofileInfo.Language) Console.WriteLine("LegalCopyright : {0}" , ofileInfo.LegalCopyright) Console.WriteLine("LegalTrademarks : {0}" , ofileInfo.LegalTrademarks) Console.WriteLine("OriginalFilename : {0}" , ofileInfo.OriginalFilename) Console.WriteLine("PrivateBuild : {0}" , ofileInfo.PrivateBuild) Console.WriteLine("ProductBuildPart : {0}" , ofileInfo.ProductBuildPart) Console.WriteLine("ProductMajorPart : {0}" , ofileInfo.ProductMajorPart) Console.WriteLine("ProductMinorPart : {0}" , ofileInfo.ProductMinorPart) Console.WriteLine("ProductName : {0}" , ofileInfo.ProductName) Console.WriteLine("ProductPrivatePart : {0}" , ofileInfo.ProductPrivatePart) Console.WriteLine("ProductVersion : {0}" , ofileInfo.ProductVersion) Console.WriteLine("SpecialBuild : {0}" , ofileInfo.SpecialBuild) 'Comments : This installation was built with Inno Setup. 'CompanyName: Jared(Breland) 'FileBuildPart : 1 'FileDescription : Package for Universal Extractor 'FileMajorPart : 1 'FileMinorPart : 6 'FileName : C:\test.exe 'FilePrivatePart : 0 'FileVersion : 1.6.1 'InternalName: 'IsDebug : False 'IsPatched : False 'IsPreRelease : False 'IsPrivateBuild : False 'IsSpecialBuild : False 'Language: Language(Neutral) 'LegalCopyright : GNU General Public License v2 'LegalTrademarks: 'OriginalFilename: 'PrivateBuild: 'ProductBuildPart : 1 'ProductMajorPart : 1 'ProductMinorPart : 6 'ProductName: Universal(Extractor) 'ProductPrivatePart : 0 'ProductVersion : 1.6.1 'SpecialBuild:
Je pense que ce que vous rechercher a faire est comment lire des informations sur un type de fichier image
ce que vous voulez extraire comme information est le nombre de pixel, la taille, l'appareil, etc ...je sais qu'il faut lire ses informations dans les premiers bytes de l'image, et plus exactement d'après mes souvenirs sont les 128 premiers bytes
Je vais essayer de vous faire un exemple aujourd'hui et vous donner le code plutard :)
A bientot
Cordialement, Troxsa- Modifié TroxsaEditor mardi 2 novembre 2010 14:02 Suppression des sauts de lignes
-
-
Bonjour,
Li31, je vous remercie de nous tenir au courant si vous avez réussi l’implémentation de la classe FileInfo et si vous avez obtenu les résultats désirés.
Cordialement,
Alex
________________
Astuces pour Visual Studio 2010
XNA – Développement jeux vidéo
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF
Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.
-
Re bonjour
En parcourant le NET j'ai vu cette sourcehttp://www.vbfrance.com/telecharger.aspx?ID=38910
Je pense que cela devrai répondre a toute vos questions
A bientot
Cordialement, Troxsa- Marqué comme réponse li31 mercredi 3 novembre 2010 14:02
-
-
Bonjour,
Voir http://code.msdn.microsoft.com/WindowsAPICodePack qui complète .NET. Je vois notamment que "Windows Shell property system" est dans la liste.
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".- Proposé comme réponse Alex Petrescu mercredi 3 novembre 2010 13:47
-
-
Bonjour,
Merci Patrice pour ce lien, je vais l’ajouter dans la liste de ressources de .NET Framework !
Cordialement,
Alex
________________
Astuces pour Visual Studio 2010
XNA – Développement jeux vidéo
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF
Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.
-
-
-
Bonjour
J'ai voulu regardé le lien que vous avez donner li31 et cela parle de System.Windows.Media.Imaging que j'ai trouvé nul par sur mon système !
avez trouvez le fonctionnement avec System.Windows.Media.Imaging ?
En vous remerciant d'avance
A bientot
Cordialement, Troxsa -
-
Bonjour,
TroXsa, regardez avec BitmapMetadata...
Voici une Classe qui peut marcher :
Imports System.Windows.Media.Imaging ' Référence à PresentationCore.dll Imports System.IO Public Class MetaDataJPEG Public BitmapMetadata As BitmapMetadata Private bf As BitmapFrame = Nothing Private _filename As String Public Sub New(ByVal Filename As String) Dim decoder As BitmapDecoder = Nothing If File.Exists(Filename) Then _filename = Filename ' load the jpg file with a JpegBitmapDecoder Using jpegStreamIn As Stream = File.Open(Filename, FileMode.Open, FileAccess.Read, FileShare.None) decoder = New JpegBitmapDecoder(jpegStreamIn, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad) End Using bf = decoder.Frames(0) If bf IsNot Nothing Then BitmapMetadata = DirectCast(bf.Metadata.Clone(), BitmapMetadata) End If End If End Sub Public Function SaveBitmapMetadata() As Boolean Dim originalImage As New FileInfo(_filename) If BitmapMetadata IsNot Nothing Then Try Dim encoder As New JpegBitmapEncoder() encoder.Frames.Add(BitmapFrame.Create(bf, bf.Thumbnail, BitmapMetadata, bf.ColorContexts)) ' Delete the original file originalImage.Delete() ' Save the new image Using jpegStreamOut As Stream = File.Open(_filename, FileMode.CreateNew, FileAccess.ReadWrite) encoder.Save(jpegStreamOut) End Using Return True Catch ex As Exception End Try End If Return False End Function End Class
Exemple d'utilisation :
Dim keywords As String = "album voyage 1999" Dim mdj As New MetaDataJPEG(MyFilenameJPEG) mdj.BitmapMetadata.Keywords = New Collections.ObjectModel.ReadOnlyCollection(Of String)(Split(keywords, " ")) mdj.SaveBitmapMetadata()