Comment connaître la version d'un fichier cdr automatiquement ?

cameron_skynet Messages postés 537 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 22 juillet 2020 - 6 oct. 2014 à 15:52
Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 - 8 oct. 2014 à 21:48
Bonjour,
Je voudrais simplement afficher la version de l'outil d'un fichier coreldraw cdr.
voir image jointe

D'avance merci,
A voir également:

3 réponses

Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
6 oct. 2014 à 21:43
0
cameron_skynet Messages postés 537 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 22 juillet 2020
Modifié par cameron_skynet le 7/10/2014 à 09:28
Effectivement, j'ai essayé.
Cela fonctionne avec un exe mais visiblement pas avec un fichier coreldraw cdr.
0
Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
7 oct. 2014 à 09:42
N'ayant pas de fichiers de ce type je n'ai pu que proposer.
Ca fonctionne aussi avec les dll.
0
cameron_skynet Messages postés 537 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 22 juillet 2020
7 oct. 2014 à 10:17
En tout cas merci Whismeril d'avoir pris le temps de répondre.
Je laisse le sujet ouvert si une solution se présente.
0
Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
7 oct. 2014 à 12:44
Si tu as un fichier exemple à faire essayer, via un service comme cijoint.
0
cameron_skynet Messages postés 537 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 22 juillet 2020
7 oct. 2014 à 13:49
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 oct. 2014 à 14:32
Bonjour,

Si ce que tu souhaites c'est lire le contenu de l'onglet DETAIL lorsque tu fais un clic-droit sur le fichier / propriétés...
tu peux t'inspirer du code VB.NET suivant :

Public Class Form1

    Dim oShell As Shell





    Function GetExtendedProperties(ByRef strFolderName As String, ByRef strFileName As String) As String
        Dim msg As String
        Dim oFolder As Object
        Dim oFile As Object
        oShell = New Shell
        oFolder = oShell.NameSpace(strFolderName)

        For Each oFile In oFolder.Items
            If oFile.Name = strFileName Then
                For i = 0 To 34
                    msg = msg & ": " & oFolder.GetDetailsOf(oFile, i)
                Next
            End If
        Next

        If msg = "" Then
            GetExtendedProperties = strFileName & " not found."
        Else
            GetExtendedProperties = msg
        End If

    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Me.OpenFileDialog1.ShowDialog()
        Dim File As String = OpenFileDialog1.FileName

        Dim FileName As String = System.IO.Path.GetFileName(File)
        Console.WriteLine("Fichier choisi:" & FileName)
        Dim FileDir As String = System.IO.Path.GetDirectoryName(File)
        Console.WriteLine("FileDir:" & FileDir)
        Dim Prop As String = GetExtendedProperties(FileDir, FileName)
        Console.WriteLine("Propriétés =" & Prop)


    End Sub


End Class



(désolé.. je n'ai pas eu le temps de le convertir en C# )
0
Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
7 oct. 2014 à 18:23
Salut, il doit manquer un Import ou une référence car
    Dim oShell As Shell
VS n'en veut pas.
Tu l'as trouvé ou ce code?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 oct. 2014 à 20:48
Oui pardon il faut la ref Microsoft automation shell
0
Whismeril Messages postés 19023 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
8 oct. 2014 à 21:48
Bonsoir, traduit en C# avec la ref qui va bien.
        /// <summary>
        /// Retourne toutes les propriétés étendu d'un fichier ou d'un répertoire
        /// </summary>
        /// <param name="FullPath">Chemin complet du dossier ou fichier d'entrée</param>
        /// <returns></returns>
        public Dictionary<int, string> GetExtendedProperties(string FullPath)
        {
            Match match = Regex.Match(FullPath,"(?<Dossier>^[A-Z]:\\\\.+\\\\)(?<Fichier>.+\\.\\w{3,4}$)");
            if (!match.Success || match.Groups.Count != 3) return null;//fullpath n'a pas le format d'un chemin de fichier
            
            Dictionary<int, string> dic = new Dictionary<int, string>();

            Shell oShell = new Shell();
            Folder oFolder = oShell.NameSpace(match.Groups["Dossier"].Value);
            foreach (FolderItem oFile in oFolder.Items())//Items n'accepte pas de requette Linq, il faut donc énumérer
                if (oFile.Name == match.Groups["Fichier"].Value)
                    for (int i = 0; i<34;i++)
                        dic.Add(i,oFolder.GetDetailsOf(oFile, i));

            return dic;
        }


Cependant ça ne me retourne pas la version d'une dll.
0
Rejoignez-nous