none
Windows 7 - 64Bits [ modification du Registre] ? RRS feed

  • Question

  • Bonjour,

    J'ai essayé plusieurs code pour faire les modifications dans le registre mais cela ne fonctionne pas, pourtant l’écriture dans le registre est plutôt facile a faire.
    j'ai essayé les modifications de droits dans le registre, ... cela na aucun effet ! et aucun message d'erreur

     

    Exemple de code :


            With My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"True)
                .SetValue("AutoAdminLogon""1")                                    ' Active l'ouverture de session
                .SetValue("DefaultUserName", txtUserLogin.Text)                     ' Le nom d'ouverture de sesssion automatique
                .SetValue("DefaultPassword", txtUserPass.Text)                      ' le mot de passe utilisateur
                .SetValue("DefaultDomainName", txtOpéDomaine.Text.Split(".")(0))    ' le domaine
                .SetValue("AutoLogonCount""2")                                    ' Nombre d'ouverture de session automatique
            End With

    ________________________________________

    J'ai aussi essayé ça

            With My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", 
    RegistryKeyPermissionCheck.ReadWriteSubTree, Security.AccessControl.RegistryRights.FullControl)             .SetValue("AutoAdminLogon""1", Microsoft.Win32.RegistryValueKind.String)                                    ' Active l'ouverture de session             '    .SetValue("DefaultUserName", txtUserLogin.Text)                     ' Le nom d'ouverture de sesssion automatique             '    .SetValue("DefaultPassword", txtUserPass.Text)                      ' le mot de passe utilisateur             '    .SetValue("DefaultDomainName", txtOpéDomaine.Text.Split(".")(0))    ' le domaine             '    .SetValue("AutoLogonCount", "2")                                    ' Nombre d'ouverture de session automatique             .Close()         End With


    J'ai aussi essayé avec la class Microsoft.Win32

    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn

    mardi 6 décembre 2011 13:50
    Auteur de réponse

Réponses

Toutes les réponses

  • Bonjour,

    L'application tourne en 32 bits ou 64 bits ? Je soupçonne que l'on modifie le registre 32 bits alors que l'on veut modifier le registre 64 bits ce qui expliquerait l'absence d'erreur (utiliser regedit pour aller voir).

    A partir de .NET 4 il y a une option qui permet de forcer la lecture (et l'écriture ?) en 64 bits même si l'application tourne en 32 bits :

    http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or-vice-versa/


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 6 décembre 2011 14:32
    Modérateur
  • Vous avez complément raison

    J'ai du quand même ajouté les autorisations "FullControl" sinon l'écriture ne ce faisait pas

            Dim localKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
            localKey = localKey.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon",
                        RegistryKeyPermissionCheck.ReadWriteSubTree, Security.AccessControl.RegistryRights.FullControl)
            localKey.SetValue("AutoAdminLogon""1", Microsoft.Win32.RegistryValueKind.String)

     

    Merci Patrice

     

     


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    mardi 6 décembre 2011 15:08
    Auteur de réponse