Comportement étrange avec le registre

Signaler
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour tout le monde,
Voilà, je créer une application qui doit modifier le registre, et j'ai un gros problème vraiment étrange, mon application réagis comme si elle arrivait à modifier le registre, alors qu'il ne se passe rien! Par exemple, je lance une première fois, l'application fait comme si elle à réussi à modifier comme il faut le registre, puis je vérifie, le registre n'est pas modifié, je ferme l'application, la relance, et mon logiciel détecte la valeur du registre quelle aurait du modifier comme si elle l'était, alors quelle n'est pas modifié! Je trouve ça vraiment étrange, voilà le code:


Dim BgPath = "C:/Windows/System32/oobe/info/backgrounds/backgroundDefault.jpg" 'Chemin du fond d'écran
Dim RegKey As String = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background" 'Chemin de la clé de registre à modifier

Private Sub PictureBox2_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox2.Click
SetBg:
        Try

            Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background")

            ' Si la clé n'est pas déjà changé, on la change
            If My.Computer.Registry.GetValue(RegKey, "OEMBackground", "None") = "0" Then
                My.Computer.Registry.SetValue(RegKey, "OEMBackground", "1", RegistryValueKind.DWord)
            End If

            ' Si une image est chargé, on la "décharge" pour uel ne soit plus utilisé par un processus
            If Not IsNothing(CurrentBg.Image) Then
                CurrentBg.Image.Dispose()
            End If

            'On ouvre la boite de dialogue pour choisir l'image
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

                'Si l'image n'est pas trop grande
                If GetFileLength(OpenFileDialog1.FileName) < 256 And PictureHeight(OpenFileDialog1.FileName) My.Computer.Screen.Bounds.Height And PictureWidth(OpenFileDialog1.FileName) My.Computer.Screen.Bounds.Width Then

                    'Si il y a déjà un fond, on le supprime
                    If Exists(BgPath) Then
                        My.Computer.FileSystem.DeleteFile(BgPath)
                    End If

                    'On copie l'image choisit dans le dosiier backgrounds pour remplacer l'ancient fond
                    IO.File.Copy(OpenFileDialog1.FileName, BgPath)

                    'On recharge l'image et on envele le message d'erreur
                    CheckAndChargeBackground()

                Else

                    'Message affiché si l'image est trop lourde ou n'a pas les bonnes dimensions
                    MsgBox("This picture can't be used as background! " & vbCrLf & "The maximum file lenth is 256 Ko (Choosen file: " & GetFileLength(OpenFileDialog1.FileName) & " Ko)." & vbCrLf & "The picture's dimensions must be " & My.Computer.Screen.Bounds.Width & "x" & My.Computer.Screen.Bounds.Height & " (Choosen file: " & PictureWidth(OpenFileDialog1.FileName) & "x" & PictureHeight(OpenFileDialog1.FileName) & ").", vbEmpty Or vbOKOnly)
                    GoTo SetBg

                End If

            End If

        Catch ex As Exception
            'Message en cas d'erreur
            MsgBox("Error! " & vbCrLf & ex.Message & vbCrLf & " Contact us and tell us the error, we'll try to help you if we can!", vbCritical)
        End Try

        Return


    End Sub


Là j'ai vraiment besoin d'aide je ne comprend pas du tout, au passage, le logiciel ce lance bien en tant qu'administrateur. Quelqu'un pourrait il m'aider s'il vous plait? Merci!

14 réponses


Bonjour,

Ouvre l'éditeur du registre comme Administrateur, et cliques sur la clef que tu modifier. (Cela reste quand même plus prudent que de sélectionner une ruche complète.)

Puis ouvre le menu Edition de l'éditeur de registre et cliquea sur Autorisations...

Accorde-toi le contrôle total de la clef.

Sauf horreur de ma part, cela devrait aller comme sur des roulettes ensuite.
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
J'essaye, et aussi mon soft arrive à lire un fichier qu'il est censé copier, sauf qu'il ne l'a pas copier! En gros, il lis un fichier inéxistant et arrive à l'affiché, même après redémarrage de l'ordinateur, come si l'application était virtualisé et quelle agis sur un autre os, c'est vraiment étrange. Merci quand même j'essaye de faire ce que tu m'a dit!
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
J'ai essayé ça ne marche pas non plus.
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
J'ai aussi essayé de refaire l'application de A à Z mais toujours là même chose, il lit le fichier inexistant et fait comme si le registre avait état modifié!

Bonjour,

À première vue, tu devrais voir dans tes progammes de sécurité, (d'asservissement plutôt), s'il n'y en a pas un cochon qui te bloque ton registre à l'insu de ton plein gré ou qui fait passer tes programmes dans une "sandbox cruche".

Sinon, il va falloir quelqu'un d'autre avec d'autres idées, parce que là, je suis comme perdu au fond d'un sable mouvant en pleine jungle.
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
Ah c'est possible! Mais je n'est que AVG et Malwarebytes anti malwares free et aucun ne semble avoir d'option relative à la sandbox, aurait tu une idée de ce qui pourrait mettre mon programme dans une sandbox s'il te plait? Merci!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Bonjour,
cela me rappelle assez ce que j'avais mis en place dans un certain pays pour contrecarrer des "bidouilleurs" dont les manoeuvres finissaient par gêner le fonctionnement du poste.
Ils travaillaient à leur insu sur un miroir . L'original, lui, restait intact


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
Tu veut dire que l'application travaille sur un miroir de mon OS? Mais comment faire pour quelle travaille sur mon OS réel? Enfin, si j'ai bien compris ce que tu voulais dire, parce que ça fait 1 mois que je bosse sur cette application et elle plante au dernier moment, s'il vous plait j'ai vraiment besoin d'aide! Merci!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Tu veut dire que l'application travaille sur un miroir de mon OS

Non, pas de l'OS
Mais si tu es dans ce cas (d'un miroir du genre que j'avais installé), c'est qu'un administrateur l'a mis en oeuvre (probablement excédé). Et ne compte alors pas sur moi pour ni même te mettre sur une piste tendant à le "feinter".

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Et si cet administrateur est comme je l'étais, il est même allé jusqu'à empêcher toute modification de plusieurs autres choses, dont (mais pas uniquement) le bureau réel lui-même
Si c'est cela : la machine n'est pas à toi et c'est avec lui qu'il va falloir "négocier"


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
14 juillet 2013
3
Je suis propriétaire de mon PC et je suis seul à l'utiliser. Et je suis bien authentifié en tant qu'administrateur, alors s'il te plait, aurait tu une idée de comment enlever ce genre de chose et quel en est la cause? Merci.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Non. Aucune.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Bonjour,

1/ Moi j'aimerais bien savoir comment t'y es tu pris pour modifier ton registre en mode administrateur.

2/ Autre chose qui n'apparaît pas dans le code montré ci-dessus, c'est l'ouverture avant modif et la fermeture de tes clés après modif ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
ce qui m'a fait réagir (si correctement rapporté) :
1)
Par exemple, je lance une première fois, l'application fait comme si elle à réussi à modifier comme il faut le registre, puis je vérifie, le registre n'est pas modifié, je ferme l'application, la relance, et mon logiciel détecte la valeur du registre quelle aurait du modifier comme si elle l'était, alors quelle n'est pas modifié!

2)
et aussi mon soft arrive à lire un fichier qu'il est censé copier, sauf qu'il ne l'a pas copier! En gros, il lis un fichier inéxistant et arrive à l'affiché, même après redémarrage de l'ordinateur

le point 2, surtout.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.