Bonjour à tous,
Voilà, j'aimerai trouver le moyen de tester si une clé registre existe ou non...
J'ai regarder avec la classe RegistryKey, mais je n'ai rien trouvé...
Quelqu'un saurait-il faire ça?
Merci d'avance..
Version imprimable
Bonjour à tous,
Voilà, j'aimerai trouver le moyen de tester si une clé registre existe ou non...
J'ai regarder avec la classe RegistryKey, mais je n'ai rien trouvé...
Quelqu'un saurait-il faire ça?
Merci d'avance..
J'ai une fonction pour faire ça ... en C#, mais l'idée est simple :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public static bool RegistryKeyExists(RegistryKey RootKey, string KeyName) { if (RootKey == null || KeyName == null || KeyName == "") return false; RegistryKey test = RootKey.OpenSubKey(KeyName, false); try { return test != null; } finally { if(test != null) test.Close(); } }
Salut smyley et merci pour ta réponse!
Toutefois, je ne suis déjà pas très doué en vb.net alors passer de C# à vb.net c'est un peu trop complexe pour moi pour le moment :oops:
Personne n'a une solution déjà en vb.net?
Merci d'avance.
ça doit se limiter à ça ( mais je ne suis pas sur ) :
Code:
1
2
3
4
5
6
7 Dim test As RegistryKey = RootKey.OpenSubKey(KeyName, false) Try Return test IsNot Null Finally test.Close End
marche pas :(
enfin je l'utilise peut-être mal je sais pas?
et aprèsCode:
1
2
3
4
5
6
7
8
9 Public Function regexist() Dim test As Microsoft.Win32.RegistryKey = My.Computer.Registry.ClassesRoot.OpenSubKey("CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\::Fermer session", False) Try Return test IsNot DBNull.Value Finally test.Close() End Try End Function
Code:
1
2
3
4
5 If regexist() = True Then Me.quit_reboot.Checked = True Else Me.quit_reboot.Checked = False End If
ce n'est pas DBNull, ni Null ( et oui, je n'aime pas le VB et je ne le connais pas :aie: ) mais Nothing il me semble
marche pas mieux xD lol
Merci quand même pour ton aide ;)
bah j'ai trouvé comme un grand garçon :lol:
Code:
1
2
3
4
5
6 Dim test As Microsoft.Win32.RegistryKey = My.Computer.Registry.ClassesRoot.OpenSubKey("name", False) If test Is Nothing Then la clé n'existe pas Else la clé existe End If
bon, j'ai utilisé un outil pour convertir de C# à VB.Net, si ça marche pas, je ne sais pas :|
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Public Shared Function RegistryKeyExists(ByVal RootKey As RegistryKey, ByVal KeyName As String) As Boolean If RootKey Is Nothing OrElse KeyName Is Nothing OrElse KeyName = "" Then Return False End If Dim test As RegistryKey = RootKey.OpenSubKey(KeyName, False) Try Return test IsNot Nothing Finally If test IsNot Nothing Then test.Close() End If End Try End Function