Y'a t-il un moyen de changer le nom d'une clef dans la base de registre sous VB2005
4 réponses
Claude
Bonjour,
Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en
vb2005 ?
dans la class registry j'ai rien vu de cela.
Car dans un programme je suis obliger de devoir faire cela.
Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs
dans un array,
puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et
d'y recoller toutes les valeurs.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TroXsA
Bonjour,
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2 ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" a écrit dans le message de news: 4408b60f$0$29214$
Bonjour, Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en vb2005 ? dans la class registry j'ai rien vu de cela. Car dans un programme je suis obliger de devoir faire cela. Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs dans un array, puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et d'y recoller toutes les valeurs.
Ce qui est assez long si beaucoup de sous-clefs.
Merci
Claude
Bonjour,
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2
ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" <NoSpam_cthomas@enio.fr> a écrit dans le message de news:
4408b60f$0$29214$8fcfb975@news.wanadoo.fr...
Bonjour,
Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en
vb2005 ?
dans la class registry j'ai rien vu de cela.
Car dans un programme je suis obliger de devoir faire cela.
Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs
dans un array,
puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et
d'y recoller toutes les valeurs.
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2 ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" a écrit dans le message de news: 4408b60f$0$29214$
Bonjour, Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en vb2005 ? dans la class registry j'ai rien vu de cela. Car dans un programme je suis obliger de devoir faire cela. Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs dans un array, puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et d'y recoller toutes les valeurs.
Ce qui est assez long si beaucoup de sous-clefs.
Merci
Claude
Claude
Merci Mais non ça ne va pas. je cherche à modifier de nom des subkey existantes qui contient des clefs avec valeurs. Pour détruire, créer ou modification de valeur clef je sais faire mais pas renommer une subkey. Comme ont peut le faire directement dans le registre d'un click droit sur une SubKey
Bizarre que microsoft n'est pas prévu cela ? Donc pour l'instant je reste sur ma solution posté dans mon 1er message passage par tableau avant destruction de SubKey et recréation de celle-ci sous un autre nom.
voici le code que j'utilise pour faire cela en vb2005 :
Public Sub SuppLecteur(ByVal Port As String, ByVal Designation As String, ByVal NumLecteur As String) Dim gsLecteurNumber As String = HKLM & CheminLecteur & "Lecteur" & NumLecteur Dim TabLecteur As Array Dim intReelLecteur As String = 0, TabCountLecteur As Integer = 0 If NumLecteur <> "" And Port <> "" Then
TabLecteur CType(My.Computer.Registry.LocalMachine.OpenSubKey(CheminLecteur).GetSubKeyNames, Array) TabCountLecteur = UBound(TabLecteur) Dim TabLecteurOK() As String = Nothing Dim intL As Integer = 1 For i As Integer = 0 To TabCountLecteur If Strings.Left(TabLecteur(i), 7) = "Lecteur" Then
ReDim Preserve TabLecteurOK(intL) TabLecteurOK(intL) = CType(TabLecteur(i), String) intReelLecteur += 1 intL += 1 End If Next
If UBound(TabLecteurOK) = 1 Then Exit Sub ' Y'a qu'un lecteur ne fait rien devient celui par defaut
Dim SavTabLecteur(8) As String Dim casei As Integer = 0 For i As Integer = 1 To UBound(TabLecteurOK)
If TabLecteurOK(i) = ("Lecteur" & NumLecteur) Then
Dim strPort As String CStr(My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_Port, "")) Dim strDesignCom As String My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_DesignCom, "") If strPort = Port Then If strDesignCom = Designation Then My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur & "" & TabLecteurOK(i)) intReelLecteur -= 1 ValidParamPort(CStr(intReelLecteur), 0, "0") 'Décrémente de -1 le nbr de Lecteur TabLecteurOK(i) = "" 'Ont boucle sur les suivants If NumLecteur = UBound(TabLecteurOK) Then Exit For 'si c'était le dernier lecteur rien à faire NumLecteur += 1 For ii As Integer = NumLecteur To UBound(TabLecteurOK) ReDim SavTabLecteur(8) For j As Integer = 1 To 9 'Sauve dans le tableau les données du Lecteur suivant case de 1 a 9 SavTabLecteur(casei) LoadParamPortReg(j, ii) casei += 1 Next 'et supprime sa clef My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur & "" & TabLecteurOK(ii)) 'restaure sa clef index-1 et les données casei = 0 For j As Integer = 1 To 9 'restaure les données du Lecteur suivant ValidParamPort(SavTabLecteur(casei), j, (ii - 1)) casei += 1 Next Next Exit For End If End If End If Next End If End Sub
"TroXsA" a écrit dans le message de news: duk3d5$3tq$
Bonjour,
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2 ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" a écrit dans le message de news: 4408b60f$0$29214$
Bonjour, Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en vb2005 ? dans la class registry j'ai rien vu de cela. Car dans un programme je suis obliger de devoir faire cela. Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs dans un array, puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et d'y recoller toutes les valeurs.
Ce qui est assez long si beaucoup de sous-clefs.
Merci
Claude
Merci
Mais non ça ne va pas.
je cherche à modifier de nom des subkey existantes qui contient des clefs
avec valeurs.
Pour détruire, créer ou modification de valeur clef je sais faire mais pas
renommer une subkey.
Comme ont peut le faire directement dans le registre d'un click droit sur
une SubKey
Bizarre que microsoft n'est pas prévu cela ?
Donc pour l'instant je reste sur ma solution posté dans mon 1er message
passage par tableau avant destruction de SubKey et recréation de celle-ci
sous un autre nom.
voici le code que j'utilise pour faire cela en vb2005 :
Public Sub SuppLecteur(ByVal Port As String, ByVal Designation As
String, ByVal NumLecteur As String)
Dim gsLecteurNumber As String = HKLM & CheminLecteur & "Lecteur" &
NumLecteur
Dim TabLecteur As Array
Dim intReelLecteur As String = 0, TabCountLecteur As Integer = 0
If NumLecteur <> "" And Port <> "" Then
TabLecteur CType(My.Computer.Registry.LocalMachine.OpenSubKey(CheminLecteur).GetSubKeyNames,
Array)
TabCountLecteur = UBound(TabLecteur)
Dim TabLecteurOK() As String = Nothing
Dim intL As Integer = 1
For i As Integer = 0 To TabCountLecteur
If Strings.Left(TabLecteur(i), 7) = "Lecteur" Then
ReDim Preserve TabLecteurOK(intL)
TabLecteurOK(intL) = CType(TabLecteur(i), String)
intReelLecteur += 1
intL += 1
End If
Next
If UBound(TabLecteurOK) = 1 Then Exit Sub ' Y'a qu'un lecteur ne
fait rien devient celui par defaut
Dim SavTabLecteur(8) As String
Dim casei As Integer = 0
For i As Integer = 1 To UBound(TabLecteurOK)
If TabLecteurOK(i) = ("Lecteur" & NumLecteur) Then
Dim strPort As String CStr(My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_Port,
""))
Dim strDesignCom As String My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_DesignCom,
"")
If strPort = Port Then
If strDesignCom = Designation Then
My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur
& "" & TabLecteurOK(i))
intReelLecteur -= 1
ValidParamPort(CStr(intReelLecteur), 0, "0")
'Décrémente de -1 le nbr de Lecteur
TabLecteurOK(i) = ""
'Ont boucle sur les suivants
If NumLecteur = UBound(TabLecteurOK) Then Exit
For 'si c'était le dernier lecteur rien à faire
NumLecteur += 1
For ii As Integer = NumLecteur To
UBound(TabLecteurOK)
ReDim SavTabLecteur(8)
For j As Integer = 1 To 9 'Sauve dans le
tableau les données du Lecteur suivant case de 1 a 9
SavTabLecteur(casei) LoadParamPortReg(j, ii)
casei += 1
Next
'et supprime sa clef
My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur
& "" & TabLecteurOK(ii))
'restaure sa clef index-1 et les données
casei = 0
For j As Integer = 1 To 9 'restaure les
données du Lecteur suivant
ValidParamPort(SavTabLecteur(casei), j,
(ii - 1))
casei += 1
Next
Next
Exit For
End If
End If
End If
Next
End If
End Sub
"TroXsA" <neat@pk.com> a écrit dans le message de news:
duk3d5$3tq$1@s1.news.oleane.net...
Bonjour,
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2
ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" <NoSpam_cthomas@enio.fr> a écrit dans le message de news:
4408b60f$0$29214$8fcfb975@news.wanadoo.fr...
Bonjour,
Y'a t-il un moyen de changer le nom d'une clef dans la base de registre
en vb2005 ?
dans la class registry j'ai rien vu de cela.
Car dans un programme je suis obliger de devoir faire cela.
Actuellement le seul moyen est de mettre toutes les valeurs des
sous-clefs dans un array,
puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et
d'y recoller toutes les valeurs.
Merci Mais non ça ne va pas. je cherche à modifier de nom des subkey existantes qui contient des clefs avec valeurs. Pour détruire, créer ou modification de valeur clef je sais faire mais pas renommer une subkey. Comme ont peut le faire directement dans le registre d'un click droit sur une SubKey
Bizarre que microsoft n'est pas prévu cela ? Donc pour l'instant je reste sur ma solution posté dans mon 1er message passage par tableau avant destruction de SubKey et recréation de celle-ci sous un autre nom.
voici le code que j'utilise pour faire cela en vb2005 :
Public Sub SuppLecteur(ByVal Port As String, ByVal Designation As String, ByVal NumLecteur As String) Dim gsLecteurNumber As String = HKLM & CheminLecteur & "Lecteur" & NumLecteur Dim TabLecteur As Array Dim intReelLecteur As String = 0, TabCountLecteur As Integer = 0 If NumLecteur <> "" And Port <> "" Then
TabLecteur CType(My.Computer.Registry.LocalMachine.OpenSubKey(CheminLecteur).GetSubKeyNames, Array) TabCountLecteur = UBound(TabLecteur) Dim TabLecteurOK() As String = Nothing Dim intL As Integer = 1 For i As Integer = 0 To TabCountLecteur If Strings.Left(TabLecteur(i), 7) = "Lecteur" Then
ReDim Preserve TabLecteurOK(intL) TabLecteurOK(intL) = CType(TabLecteur(i), String) intReelLecteur += 1 intL += 1 End If Next
If UBound(TabLecteurOK) = 1 Then Exit Sub ' Y'a qu'un lecteur ne fait rien devient celui par defaut
Dim SavTabLecteur(8) As String Dim casei As Integer = 0 For i As Integer = 1 To UBound(TabLecteurOK)
If TabLecteurOK(i) = ("Lecteur" & NumLecteur) Then
Dim strPort As String CStr(My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_Port, "")) Dim strDesignCom As String My.Computer.Registry.GetValue(gsLecteurNumber, REG_VAL_DDE_GEN_DesignCom, "") If strPort = Port Then If strDesignCom = Designation Then My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur & "" & TabLecteurOK(i)) intReelLecteur -= 1 ValidParamPort(CStr(intReelLecteur), 0, "0") 'Décrémente de -1 le nbr de Lecteur TabLecteurOK(i) = "" 'Ont boucle sur les suivants If NumLecteur = UBound(TabLecteurOK) Then Exit For 'si c'était le dernier lecteur rien à faire NumLecteur += 1 For ii As Integer = NumLecteur To UBound(TabLecteurOK) ReDim SavTabLecteur(8) For j As Integer = 1 To 9 'Sauve dans le tableau les données du Lecteur suivant case de 1 a 9 SavTabLecteur(casei) LoadParamPortReg(j, ii) casei += 1 Next 'et supprime sa clef My.Computer.Registry.LocalMachine.DeleteSubKey(CheminLecteur & "" & TabLecteurOK(ii)) 'restaure sa clef index-1 et les données casei = 0 For j As Integer = 1 To 9 'restaure les données du Lecteur suivant ValidParamPort(SavTabLecteur(casei), j, (ii - 1)) casei += 1 Next Next Exit For End If End If End If Next End If End Sub
"TroXsA" a écrit dans le message de news: duk3d5$3tq$
Bonjour,
http://www.troxsa.info/index.php?option=com_content&task=view&id0&Itemid=2 ça devrais repondre a vos questions ?
Cordialement,
Site : http://www.troxsa.info Mail : http://cerbermail.com/?rIXgaw9Xsl
"Claude" a écrit dans le message de news: 4408b60f$0$29214$
Bonjour, Y'a t-il un moyen de changer le nom d'une clef dans la base de registre en vb2005 ? dans la class registry j'ai rien vu de cela. Car dans un programme je suis obliger de devoir faire cela. Actuellement le seul moyen est de mettre toutes les valeurs des sous-clefs dans un array, puis ensuite de détruire celle-ci et de la recréer sous le nouveau nom et d'y recoller toutes les valeurs.
Ce qui est assez long si beaucoup de sous-clefs.
Merci
Claude
TroXsA
Ben !!! il y a le renomage, regarde bien
Quand tu parle de SubKey c'est quoi ? -DossierReg ---SousDossierReg -------------- NomClef --------------ValeurDonnée
www.troxsa.info
Ben !!!
il y a le renomage, regarde bien
Quand tu parle de SubKey c'est quoi ?
-DossierReg
---SousDossierReg -------------- NomClef --------------ValeurDonnée
Je supprime Le dossier (SubKey) Lecteur2, il faut que je renomme le Dossier
Lecteur3 en Lecteur2
en gardent le contenu du dossier (SubKey)
"TroXsA" <troxsa@gmail.com> a écrit dans le message de news:
1142200231.824722.150750@u72g2000cwu.googlegroups.com...
Ben !!!
il y a le renomage, regarde bien
Quand tu parle de SubKey c'est quoi ?
-DossierReg
---SousDossierReg -------------- NomClef --------------ValeurDonnée