Ouvrir regedit en pointant sur une clé VB.net

Résolu
Lyc@n Messages postés 219 Date d'inscription dimanche 24 octobre 2010 Statut Membre Dernière intervention 22 février 2014 - 23 oct. 2013 à 17:08
Lyc@n Messages postés 219 Date d'inscription dimanche 24 octobre 2010 Statut Membre Dernière intervention 22 février 2014 - 26 oct. 2013 à 17:32
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
25 oct. 2013 à 17:13
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.
1
hellangel777 Messages postés 267 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 novembre 2013 1
24 oct. 2013 à 09:03
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()

0
Lyc@n Messages postés 219 Date d'inscription dimanche 24 octobre 2010 Statut Membre Dernière intervention 22 février 2014
Modifié par Lyc@n le 26/10/2013 à 17:14
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 }-
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
26 oct. 2013 à 17:27
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 :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lyc@n Messages postés 219 Date d'inscription dimanche 24 octobre 2010 Statut Membre Dernière intervention 22 février 2014
Modifié par Lyc@n le 26/10/2013 à 17:33
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 }-
0
Rejoignez-nous