[R] RegEnumKey

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 55
Enregistré le : mar. 13 oct. 2009 20:41
Status : Hors ligne

[R] RegEnumKey

#1

Message par camil » dim. 15 avr. 2018 15:59

Bonjour,

Dans ma base de registre j'ai créé plusieurs clés pour tester RegEnumKey :
HKEY_LOCAL_MACHINE\System\0test\entree1\sortie1
HKEY_LOCAL_MACHINE\System\0test\entree2\sortie2

Quand je lance le Script il me sort :
1er MsgBox :
entree1 / sortie1
2eme MsgBox :
entree2 / sortie2

Je ne suis pas très fier de se Script, je souhaiterai les résultats sur un seul MsgBox.
For $i = 1 To 10

    $sSubKey1 = RegEnumKey("HKEY_LOCAL_MACHINE\System\0test\", $i)
       
For $n = 1 To 1

    $sSubKey2 = RegEnumKey("HKEY_LOCAL_MACHINE\System\0test\" & $sSubKey1 & "\", $n )

    MsgBox($MB_SYSTEMMODAL, "SubKey #" & $i & " : ", $sSubKey1 & " \ " & $sSubKey2 )

Next
    If $sSubKey1 = ""  Then ExitLoop
Next
Merci pour l'aide,
Modifié en dernier par camil le mar. 17 avr. 2018 17:20, modifié 3 fois.

Avatar du membre
orax
Modérateur
Modérateur
Messages : 1458
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Contact :
Status : Hors ligne

Re: [..] RegEnumKey

#2

Message par orax » dim. 15 avr. 2018 16:50

Il n'y a qu'une seule clé dans entree2 donc c'est l'instance 1.

Code : Tout sélectionner

$sSubKey2 = RegEnumKey("HKEY_LOCAL_MACHINE\System\0test\" & $sSubKey1 & "\", 1)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)

Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 55
Enregistré le : mar. 13 oct. 2009 20:41
Status : Hors ligne

Re: [..] RegEnumKey

#3

Message par camil » dim. 15 avr. 2018 17:28

Merci orax, je viens de modifier ça fait moins de boucle. :wink:

Mais pour afficher dans la même MsgBox mes instances, je ne sais pas comment faire ?
Modifié en dernier par camil le dim. 15 avr. 2018 19:28, modifié 1 fois.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 599
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

Re: [..] RegEnumKey

#4

Message par walkson » dim. 15 avr. 2018 18:09

Code : Tout sélectionner

Local $cumul = ""
For ...
$cumul &= "SubKey #" & $i & " : ", $sSubKey1 & " \ " & $sSubKey2 & @CRLF
Next
Msgbox(0,"",$cumul)
Pourquoi 2 fois If $sSubKey1 = "" Then ExitLoop ??
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi

Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 55
Enregistré le : mar. 13 oct. 2009 20:41
Status : Hors ligne

Re: [..] RegEnumKey

#5

Message par camil » dim. 15 avr. 2018 19:50

C'est un oublie, merci pour la ligne de code c'est impeccable.

Code : Tout sélectionner

#include <MsgBoxConstants.au3>

Local $cumul = ""

For $i = 1 To 10

    $sSubKey1 = RegEnumKey("HKEY_LOCAL_MACHINE\System\0test\", $i)

	If $sSubKey1 = ""  Then ExitLoop

    $sSubKey2 = RegEnumKey("HKEY_LOCAL_MACHINE\System\0test\" & $sSubKey1 & "\", 1 )

    $cumul &= "SubKey #" & $i & " : " & $sSubKey1 & " \ " & $sSubKey2 & @CRLF _
	           & "------------------------------------------" & @CRLF

Next

Msgbox(0,"",$cumul)

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11312
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] RegEnumKey

#6

Message par Tlem » dim. 15 avr. 2018 21:13

@Camil
L'utilisation de la balise BBCode [ code2][ /code2] n'est prévue que pour une seule ligne de code, pas pour une série de lignes.
Merci de faire un peu plus attention la prochaine fois.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Répondre