Page 1 sur 1

[R] RegEnumKey

Posté : dim. 15 avr. 2018 16:59
par camil
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,

Re: [..] RegEnumKey

Posté : dim. 15 avr. 2018 17:50
par orax
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)

Re: [..] RegEnumKey

Posté : dim. 15 avr. 2018 18:28
par camil
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 ?

Re: [..] RegEnumKey

Posté : dim. 15 avr. 2018 19:09
par walkson

Code : Tout sélectionner

Local $cumul = ""
For ...
$cumul &= "SubKey #" & $i & " : ", $sSubKey1 & " \ " & $sSubKey2 & @CRLF
Next
Msgbox(0,"",$cumul)
Pourquoi 2 fois If $sSubKey1 = "" Then ExitLoop ??

Re: [..] RegEnumKey

Posté : dim. 15 avr. 2018 20:50
par camil
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)

Re: [..] RegEnumKey

Posté : dim. 15 avr. 2018 22:13
par Tlem
@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.