Bonjour,

Je développe actuellement un outil et j'ai besoin d'aller lire voire modifier une clé de registre sur un ordinateur distant. Je souhaiterais que mon programme permette quand on lui donne un chemin et une clé de registre qu'il affiche via une msgbox le contenu de la valeur DWORD de la clé en question.

Pour les exemples que je vais proposer je mettrais les deux données en dur dans le programme.

Cela marche parfaitement quand je le fait sur mon poste via ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Dim regVersion As RegistryKey
        Dim keyValue As String
        keyValue = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
        regVersion = Registry.LocalMachine.OpenSubKey(keyValue, False)
        Dim intVersion As Integer = 0
        If (Not regVersion Is Nothing) Then
            intVersion = regVersion.GetValue("ADH", 0)
            regVersion.Close()
        End If
        MsgBox("La Valeur de la clé ADH est : " & intVersion)
Dans mon exemple cela me retourne bien la valeur ADH, sauf que lorsque je veux faire la même chose sur un ordinateur distant je récupére toujours la valeur minimale -214721....

Mon code se présente comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Const HKEY_LOCAL_MACHINE = &H80000002
        Dim strComputer = "nomdemachine"
        Dim oReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
        Dim strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
        Dim strValueName = "ADH"
        Dim result = oReg.GetDWORDValue(HKEY_LOCAL_MACHINE, strKeyPath, strValueName)
        MsgBox(result)
Je ne veux en aucun cas de script vb car je veux integrer cet fonctionnalité dans un outil pré-existant.

Je vous demande donc de l'aide pour m'aider car je commence a ronger mon bureau de frustration...

Cordialement,
Faufoll