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

 Delphi Discussion :

Lire valeur dans RegEdit sous Seven !


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 476
    Points : 1 347
    Points
    1 347
    Par défaut Lire valeur dans RegEdit sous Seven !
    Bonjour à toutes et à tous,

    Je dois lire la valeur d'une clé dans RegEdit et j'ai à mon avis tous les droits.

    Seulement avec mon code, je ne récupère pas cette valeur.

    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
    21
    22
    23
    24
     
    procedure TFTest.BNameClick(Sender: TObject);
    Var
      Reg : TRegistry;
      Key, keyname: string;
    begin
     
      Reg:=TRegistry.Create ;//Crée un objet TRegistry
     
      try
        Reg.RootKey:= HKEY_LOCAL_MACHINE; //Définit la clé principale
        key := '\SOFTWARE\Microsoft\Windows\Windows NT\CurrentVersion';
        keyname := 'ProductName' ;
     
        if Reg.OpenKey(key,False) {"OpenKey" ouvre une clé particulière (False signifie que la clé n'est pas crée si elle n'existe pas}
        then
        begin
          EdName.Text:=Reg.ReadString(keyname); //Renvoie un string à partir du nom de la valeur
          Reg.CloseKey; //Ferme la clé
        end
      finally
        Reg.Free; //Détruit l'objet
      end;
    end;
    A mon avis c'est encore une histoire de droit, je suis sous Seven 64 bits.

    Comme la clé existe pour d'autres OS, si quelqu'un avait le temps de tester le code telquel.

    Peut être aussi une autre solution pour afficher le ProductName de son PC.

    Merci d'une éventuelle aide.

    @+,

    Cincap

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Crée un objet TRegistry restreint en lecture seule
    Reg:=TRegistry.Create(KEY_EXECUTE);
    Par défaut (sans paramètre transmis au constructeur) le mode d'accès est fixé à KEY_ALL_ACCESS.


    @+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 476
    Points : 1 347
    Points
    1 347
    Par défaut
    @ Cl@udius, merci de ta réponse, mais cela ne fonctionne pas avec mon code, j'avais aussi testé avec KEY_ALL_ACCESS.

    Le chemin est correct, la clé aussi et pourtant impossible de lire sa valeur.

    L'application de test est lancée en tant qu'Administrateur.

    Ou alors mon code est erroné ?

    @+,

    Cincap

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re.

    Tu es sûr que ta clé est correcte ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        key := '\SOFTWARE\Microsoft\Windows\Windows NT\CurrentVersion';
    Windows ou Windows NT ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 476
    Points : 1 347
    Points
    1 347
    Par défaut
    @ Cl@udius,

    Je l'avais précisé dans le topic de départ,

    A mon avis c'est encore une histoire de droit, je suis sous Seven 64 bits.
    Si je vais manuellement dans RegEdit, c'est bien cette clé, et ce chemin, quant à la valeur de "ProductName", je lis "Windows 7 Home Premium" et c'est cette info qui m'intéresse car elle ne se trouve qu'à cet endroit.

    Tu penses que j'ai utilisé la doc à ce sujet, et ce n'est pas la 1ère fois que je lis ou même écrire dans RegEdit sous Seven 64Bits.

    Mais cette clé me paraît inaccessible ou mon code comporte une erreur mais ou ?

    @+,

    Cincap

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        key := '\SOFTWARE\Microsoft\Windows\Windows NT\CurrentVersion';
    J'insiste, cette clé n'est pas correcte.

    Elle devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        key := '\SOFTWARE\Microsoft\Windows NT\CurrentVersion';
    Non ??

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 476
    Points : 1 347
    Points
    1 347
    Par défaut
    @ Cl@udius, bien vu l'ami, dans tous mes tests et copy/coller sans vérifier cela mène à mon problème.

    Décidément, les cachets que je prends me nuisent même dans la logique et la réflexion.

    Un grand merci pour ta patience et ton oeil de lynx.

    @+,

    Cincap

  8. #8
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par cincap Voir le message
    Un grand merci pour ta patience et ton oeil de lynx.
    Pas de quoi.

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

Discussions similaires

  1. Valeur dans un Sous Formulaire
    Par faressam dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/03/2008, 20h51
  2. Reucperation d'une valeur dans un sous-sous formulaire
    Par Percevan dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/09/2007, 18h57
  3. Réponses: 2
    Dernier message: 02/04/2007, 19h41
  4. Réponses: 3
    Dernier message: 01/02/2007, 13h08
  5. récupération de valeur dans un sous-formulaire
    Par Sebastien_INR59 dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 12h48

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