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

Lyc@n 219 Messages postés dimanche 24 octobre 2010Date d'inscription 22 février 2014 Dernière intervention - 23 oct. 2013 à 17:08 - Dernière réponse : Lyc@n 219 Messages postés dimanche 24 octobre 2010Date d'inscription 22 février 2014 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Le Pivert 5183 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 25 oct. 2013 à 17:13
1
Merci
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.

Merci cs_Le Pivert 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
hellangel777 271 Messages postés jeudi 5 février 2009Date d'inscription 26 novembre 2013 Dernière intervention - 24 oct. 2013 à 09:03
0
Merci
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()

Commenter la réponse de hellangel777
Lyc@n 219 Messages postés dimanche 24 octobre 2010Date d'inscription 22 février 2014 Dernière intervention - Modifié par Lyc@n le 26/10/2013 à 17:14
0
Merci
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 }-
Commenter la réponse de Lyc@n
cs_Le Pivert 5183 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 26 oct. 2013 à 17:27
0
Merci
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 :-)
Commenter la réponse de cs_Le Pivert
Lyc@n 219 Messages postés dimanche 24 octobre 2010Date d'inscription 22 février 2014 Dernière intervention - Modifié par Lyc@n le 26/10/2013 à 17:33
0
Merci
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 }-
Commenter la réponse de Lyc@n

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.