Ouvrir regedit en pointant sur une clé VB.net [Résolu]

Signaler
Messages postés
219
Date d'inscription
dimanche 24 octobre 2010
Statut
Membre
Dernière intervention
22 février 2014
-
Messages postés
219
Date d'inscription
dimanche 24 octobre 2010
Statut
Membre
Dernière intervention
22 février 2014
-
Bonjour tout le monde!
Je voudrais juste ouvrir regedit en pointant directement sur une clé. Je sais qu'on trouve énormement de réponses à ce sujet sur le net et j'ai voulus les appliquer: Ils suffit juste de mondifier une clé dans le registre et ensuite de lancer regedit, j'ai donc fait ce petit bout de code:
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", "My Computer\" & Me._RegKey, RegistryValueKind.ExpandString)
Shell("regedit", AppWinStyle.NormalFocus)

Mais ce code ne marche pas et je ne sait absolument pas pourquoi! Quelqu'un pourrait il m'aider s'il vous plait? Merci!

PS: Si il y a une autre méthode pour pointer directement sur une valeur ça me va aussi.

5 réponses

Messages postés
7419
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 juin 2021
124
Bonjour,

Pour ouvrir une clé à son emplacement exact dans le registre voici le code dans les balises:

Option Strict On
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim Macle As String = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" 'applications au démarrage de Windows (mettre le chemin de ta clé)
Dim var As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", True) 'ouvre la clé
var.SetValue("Lastkey", Macle, RegistryValueKind.String) 'ajoute la valeur
var.Close() 'Fermeture du registre
Process.Start("C:\Windows\regedit.exe")
End Sub
End Class


Et sans les balises car il y a un problème avec certain navigateur, dont le mien!

Option Strict On
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim Macle As String = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" 'applications au démarrage de Windows (mettre le chemin de ta clé)
Dim var As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", True) 'ouvre la clé
var.SetValue("Lastkey", Macle, RegistryValueKind.String) 'ajoute la valeur
var.Close() 'Fermeture du registre
Process.Start("C:\Windows\regedit.exe")
End Sub
End Class

J'espère que c'est cela que tu recherches, n'ayant pas répondu au précédent message.
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
Bonjour,

Perso j'ai déjà eu l'occasion de lire regedit pour connaitre la version d'un driver je te file le code après essaye de voir pour l'adapter

        
Dim Reg As RegistryKey = Registry.LocalMachine
Dim i As Integer

Reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers")
'obtient le nombre de valeur associé a la clé
i = Reg.ValueCount
'charge les valeurs dans une tableau memoire
Dim Tabvaleur(Reg.ValueCount) As String
Dim tmp As Integer
Tabvaleur = Reg.GetValueNames
'charge la liste des valeur a partir du tableau memoire

For i = 0 To UBound(Tabvaleur)
tmp = InStr(1, Tabvaleur(i), "MySQL", CompareMethod.Text)
If tmp > 0 Then DriverODBC = Tabvaleur(i)
Next (i)
'ferme la clé
Reg.Close()

Messages postés
219
Date d'inscription
dimanche 24 octobre 2010
Statut
Membre
Dernière intervention
22 février 2014

Merci cs_Le Pivert! Je n'ai pas utilisé la même méthode que toi mais j'ai corrigé mon code en observant celui que tu m'a donné:
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", Me._RegKey, RegistryValueKind.String)
Shell("regedit", AppWinStyle.NormalFocus)

Merci! :)

-{ Visual Basic.NET Developper }-
Messages postés
7419
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 juin 2021
124
Certainement pas avec ce code. C'est le même que tu as donné en premier et qui ne fonctionnait pas. Là, j'avoue que je ne comprends pas. Mais si tu es satisfait, tant mieux.

Cdt :-)
Messages postés
219
Date d'inscription
dimanche 24 octobre 2010
Statut
Membre
Dernière intervention
22 février 2014

Oui les deux ce ressembles énormément! Mais j'ai remplacé
"My Computer\" & Me._RegKey

par
Me._RegKey

J'avais mis le "My Computer" parce que j'avais vus sur tout les sites que j'avais trouvé qu'ils le mettaient (et je ne sais toujours pas pourquoi!), mais maintenant ça marche! Merci encore!

-{ Visual Basic.NET Developper }-