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 :

Besoin d'aide avec _winreg sur machine x64


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Besoin d'aide avec _winreg sur machine x64
    Bonjour.

    J'ai un programme pour lire des clés de la bases de registres. Malheureusement, il semble que le programme ne "réagit" pas de la même façon lorsque executé sur un ordinateur x86 et un autre x64.

    En effet, le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    key= _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,"Software")
     
    # list values owned by this registry key
    try:
        i = 0
        while 1:
            name = _winreg.EnumKey(key, i)
            print str(name)
            i += 1
    except WindowsError:
        nothing=0
    Affiche la meme chose que le code suivant :
    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
    print
    print "=======   Software Wow6432Node   ==============="
    key= _winreg.OpenKey(
        _winreg.HKEY_LOCAL_MACHINE,
        "Software\\Wow6432Node"
        )
    # list values owned by this registry key
    try:
        i = 0
        while 1:
            name = _winreg.EnumKey(key, i)
            print str(name)
            i += 1
    except WindowsError:
        nothing=0
    Sur une machine x64.

    Apres quelques recherches, j'ai compris que microsoft redirige automatiquement les demandes à la base de registre sur la clée Wow6432Node meme quand on lui demande Software

    Voici mon problème. Je suis intéressé à certaine valeur sous la "vrai" clée Software. Si j'ouvre la base de registre avec regedit version 32-bit, je vois bien qu'il y a une clée Software et sous cette clée, on y retrouve Wow6432Node

    M'enfin bref, est ce possible avec _winreg de lire la base de registres comme si elle était en 32-bit?

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ouvrir la cle
    Bonjour,
    vous avez du trouver les infos, mais pour mémoire le site
    http://docs.python.org/library/_winr...hkey-constants
    Donne la façon d'écrire la fonction :

    voici un exemple pour lire une clé
    mkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,None,0,_winreg.KEY_READ)

    permet de lire la clé principale, il ne faut pas oublier les 4 paramètres,
    le premier est la clé principale (KEY),
    le deuxième est est la clé secondaire (SUB_KEY ou None pas de clé secondaire),
    le troisième est par défaut 0 (res),
    le dernier est le type d'action sur la clé (ici lecture)

    un autre exemple qui permet de connaître le nombre sous-clés(SUB_KEY) ainsi que le nombre de valeurs(value) à un endroit
    mkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SOFTWARE\\Microsoft\\Windows\\CurrentVersion',0,_winreg.KEY_QUERY_VALUE)
    nbSK = _winreg.QueryInfoKey(mkey)
    _winreg.CloseKey(mkey)
    print nbSK

    # voici le résultat de nbSK(59, 12, 129498333639440271L)
    # 59 SubKey et 12 value

    Cas très important, bien fermer la clé après chaque opération par sécurité.
    J'ai trouvé toutes ces informations en fouillant sur la toile, mais une aide est toujours la bienvenue.
    Merci à tous ceux qui postent des infos complètes.

Discussions similaires

  1. Besoin d'aide avec une réponse Ajax sur Opera et IE
    Par psykorps dans le forum jQuery
    Réponses: 7
    Dernier message: 16/05/2012, 19h19
  2. Urgent, besoin d'aide avec x64
    Par peupeu dans le forum C++
    Réponses: 3
    Dernier message: 07/10/2010, 15h24
  3. Réponses: 2
    Dernier message: 19/04/2008, 00h02
  4. Réponses: 2
    Dernier message: 29/08/2003, 17h52
  5. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 08h29

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