Accès registre (nouvelle clé) : ERREUR ??? [Résolu]

Signaler
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
Bonjour à tous,

J'aimerais automatiser ça dans un script : http://www.pcastuces.com/newsletter/adj/1726.htm
(en bref, ne pas pouvoir supprimer l'historique par les options ...)

Donc, voici le code que j'ai marqué :

Dim key
As RegistryKey =
My.Computer.Registry.CurrentUser.OpenSubKey(
"SOFTWARE\Policies\Microsoft\Internet Explorer\Control Panel",
True)

Private
Sub OK_Button_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles OK_Button.Click

Me.DialogResult = System.Windows.Forms.DialogResult.OK

Try

' rendre impossible l'effacement de l'historique ...key.CreateSubKey(

"History", RegistryKeyPermissionCheck.ReadWriteSubTree)key.SetValue(

"History",
"1", RegistryValueKind.DWord)key.Close()

Cancel_Button.Enabled =

FalseMsgBox(

"A partir de maintenant, l'historique ne pourra plus ˆtre effac‚ volontairement !", MsgBoxStyle.Information,
"Information")

Catch

My.Forms.erreur.ShowDialog()

Exit
Try

End
Try

End
Sub

et lors de l'execution, la fenetre d'erreur (My.Forms.erreur.ShowDialog()) s'affiche ...

Je ne voit pas d'erreur ... quelqu'un pourrait-il expliquer mon erreur ??
attention : je suis un debutant lol :-)

merci d'avance !

10 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
21
Salut,

------------------------------------------------------------------------------------




<strike>Dim key As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Policies\Microsoft\Internet Explorer\Control Panel", True</strike>


<strike>) </strike>


<strike>
</strike>







Private



Sub
OK_Button_Click(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
OK_Button.Click


Me
.DialogResult = System.Windows.Forms.DialogResult.OK




Try
 


   ' rendre impossible l'effacement de l'historique ...
 
<strike>   key.CreateSubKey(</strike>


<strike>"History"</strike>

<strike>
, RegistryKeyPermissionCheck.ReadWriteSubTree) 
   key.SetValue(

"History"
,

"1"
</strike>

<strike>, RegistryValueKind.DWord) 
   key.Close()
</strike>

   My.Computer.Registry.SetValue("HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer\Control Panel", "History", 1)

Catch
......

Pourquoi faire compliqué...
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Pour l'explication, la méthode OpenSubKey renvoie une valeur Nothing si la clé que tu tente d'ouvrir n'existe pas.

Pour la suite de ton code la variable key=nothing, ce qui signifie qu'elle n'est pas initialisée et donc qu'elle n'est pas utilisable.
La ligne key.CreateSubKey génère une erreur, d'ou l'affichage de ta fenetre d'erreur.

Voili.

Sevyc64  (alias Casy)

<hr /># LE PARTAGE EST NOTRE FORCE #
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
euh ... j'avais appris comme ça lol
merci !!
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Salut mister !

Tu cherches a ouvrir une clef qui n'existe pas
"SOFTWARE\Policies\Microsoft\Internet Explorer\Control Panel"
Chez moi en tout cas j'les pas trouvé
de plus j'ai recherché \Control Panel\ et il n'a rien trouvé dans IE

Dans ton code tu met
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Tu peux me dire à quoi ça sers ? car là je vois vraiment pas a quoi il sers
C'est tout comme tu lui dit truc = chose mais ça fait rien du tout ! ;)
Ton Dim Key il faut le mettre dans ton bloc bouton c'est mieux pour voir ou il ce plante ;)

Remontre moi ton code une fois coriger et je ferais la correction si néssaire
Au faite l'algo qui fait la lecture de tout les fichiers est sur mon site !
il suffira de faire une petite modification avec StreamReader (Imports System.io)

A bientot

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
ah ok merci !
et pour "control panel" oui bizarre il est pas sur tout les ordis ... lol

bon on vera ...

ok merci à tous ...
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
Me .DialogResult = System.Windows.Forms.DialogResult.OK

c'est rajouté automatiquement par VB 2005 ça sert à rien mais c'est pas grave ... lol
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Hummmm !!!
Il est rajouté automatiquement par VB 2005 Hummm, moi ça métonnerais qu'il soit ajouté automatiquement ou alors ta un probleme avec ton IDE !

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
ben créez une nouvelle Boite de Dialogue dans VB 2005 express edition ....
@+
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Oui, et alors !!!
Sa me met pas "Me.DialogResult = System.Windows.Forms.DialogResult.OK", dans chaque evenement (bouton, load, ext ext).

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
ben moi si quand je fais "afficher le code" d'une boite de dialogue ...

lol c'est pas très grave ça ...