IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Obtenir la version d'Adobe Reader


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 36
    Points : 24
    Points
    24
    Par défaut Obtenir la version d'Adobe Reader
    Bonjour

    Suite à un problème de fonctionnement de la dernière version d'Adobe Reader (11.0.07) avec wxPython (voir https://groups.google.com/forum/#!to...rs/EK7ymTxtxO4), et en attendant de trouver une solution pour un de mes logiciels, je souhaiterais désactiver les fonctionnalités faisant appel à Adobe Reader si sa version est égale à 11.0.07.
    Pour cela, j'ai besoin d'obtenir cette version.... et là je sèche.
    J'ai bien fait un tour du coté de pywin32, mais sans succès.

    Est-ce que quelqu'un aurait une idée ?
    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Essayez de faire fonctionner le How to de Tim Golden: get_dll_version

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Bonjour

    Merci pour la réponse.
    J'avais déjà trouvé une solution du même genre, mais avec ça, il faut connaitre le chemin du fichier (ici AcroRd32.exe par exemple, ou un dll), chemin qui dépend de la machine, de la version d'acrobat, ...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Lorsque votre programme "lance" Acrobat Reader, il ne sait pas non plus ou il se trouve.
    La question pourrait être de décortiquer un peu la mécanique Windows qui est derrière pour "trouver" l’exécutable i.e. regarder comment fonctionnent les commandes assoc et ftype (par exemple). Mais tout cela est plus ou moins bien documenté côté OS (pas Python).
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    C'est bon, je viens de trouver une solution. Je ne sais pas si on peut la qualifier de bonne, mais ça a l'air de marcher.
    (inspiré du module wx.lib.pdfwin et du How to de Tim Golden)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import comtypes.client as cc
     
    try:            # Adobe Reader >= 7.0
        dllpath = cc.GetModule( ('{05BFD3F1-6319-4F30-B752-C7A22889BCC4}', 1, 0) ).typelib_path
    except:
        try:        # Adobe Reader 5 or 6
            dllpath = cc.GetModule( ('{CA8A9783-280D-11CF-A24D-444553540000}', 1, 0) ).typelib_path
        except:
            dllpath = r""
            pass    # Adobe Reader not installed
     
    from win32api import GetFileVersionInfo, LOWORD, HIWORD
     
    def get_version_number (filename):
        info = GetFileVersionInfo (filename, "\\")
        ms = info['FileVersionMS']
        ls = info['FileVersionLS']
        return HIWORD (ms), LOWORD (ms), HIWORD (ls), LOWORD (ls)
     
    print get_version_number(dllpath)
    Merci wiztricks pour le coup de main

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/03/2015, 11h27
  2. [Delphi 6 personnel] Détecter Adobe Reader
    Par balu dans le forum Débuter
    Réponses: 3
    Dernier message: 01/03/2005, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo