VÉRIFIER SI UNE CLÉ EXISTE DANS LA BASE DE REGISTRE
ThunderPsycho
Messages postés180Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention 4 février 2007
-
13 juin 2003 à 07:31
denispixies
Messages postés1Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention20 décembre 2011
-
20 déc. 2011 à 14:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
denispixies
Messages postés1Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention20 décembre 2011 20 déc. 2011 à 14:33
Bonjour,
merci pour le script qui fonctionne très bien.
shadow575
Messages postés19Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention29 juin 2004 27 juin 2004 à 16:58
je suis peut être idiot mais, c'est quoi une clé ? et une base de registre ?
je suis dsl mais je débute et je connais pas trop.
cs_NiKo63
Messages postés1Date d'inscriptionmercredi 15 janvier 2003StatutMembreDernière intervention 3 juillet 2003 3 juil. 2003 à 10:30
Nikel, en effet, cela fonctionne sous VB6, bon ok on peut 'améliorer" la fonction mais au moins le résultat est là, on sait si une clef existe ou pas...
Merci !
cs_TFC
Messages postés3Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention26 juin 2003 26 juin 2003 à 11:45
Ca marche tres bien en VB6!!
Sympa ce tit code pe etre utile merci Mrx3 :)
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 14 juin 2003 à 09:55
Hé bien je ne sais pas pourquoi chez moi ça ne marche pas, ce qui est sûr c'est que Google me dit que je ne suis pas le seul !
Pour les contrôles ActiveX, il suffit de faire CreateObject : s'il n'y a pas d'erreur, c'est que le contrôle est bien enregistré : c'est très simple, mais cela oblige à instancier le contrôle effectivement.
ThunderPsycho
Messages postés180Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention 4 février 2007 13 juin 2003 à 13:06
ah si je t'assure
m'en suis encore servi ce matin
moi je l'utilise sans fonction, mais le principe c le meme, lire une cle et gerer l'erreur avec le On error resume next...
ThunderPsycho
Messages postés180Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention 4 février 2007 13 juin 2003 à 13:06
ah si je t'assure
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 13 juin 2003 à 12:54
Ca marche peut être en VBScript, mais pas en VB6 (en tout cas pas en VBA : je teste dans un module Access 97)
ThunderPsycho
Messages postés180Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention 4 février 2007 13 juin 2003 à 12:47
Houla les gars mais kestu racontes Patrice99 c juste du Windows Host Scripting Object et ca marche très bien, je l'utilisais deja pas mal...
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 13 juin 2003 à 12:11
Non ! Microsoft.Win32.RegistryKey est une classe bien pratique du framework .NET, pas de VB6 hélas ! mais je suis sûr que quelqu'un va trouver l'équivalent de la fonction en VB6.
Mrx3
Messages postés24Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention 2 janvier 2007 13 juin 2003 à 11:02
Mais ça serait pas du Visual Basic ça ?
Mrx3
Messages postés24Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention 2 janvier 2007 13 juin 2003 à 11:01
Mais ça serait pas du Visual Basic ça ?
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 13 juin 2003 à 09:40
Ton exemple ne marche pas. Une recherche avec Google montre que ce n'est pas aussi simple, car on ne peut pas distinguer si une clé existe ou bien si elle n'a pas de valeur par défaut, et même dans ce cas, ça ne marche pas pour savoir par exemple si un controle activeX est enregistré ou pas. Je n'ai toujours pas trouvé la solution. Pourtant, avec VB.NET c'est très facile :
Public Shared Function bCleRegistreExiste(ByVal sCle$) As Boolean
' Vérifier si une clé existe dans la base de registre
' c'est utile pour savoir si un contrôle ActiveX est enregistré
Dim sValCle$
Try
' This call goes to the Catch block if the registry key is not set.
Dim myRegKey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.ClassesRoot
myRegKey = myRegKey.OpenSubKey(sCle)
Dim sSousCle$ = "" ' Sous-clé par défaut
Dim oValue As Object = myRegKey.GetValue(sSousCle)
sValCle = CStr(oValue)
bCleRegistreExiste = True ' On peut lire cette clé, donc elle existe
Catch
sValCle = ""
End Try
'MsgBox(sValCle)
Exit Function
End Function
Si quelqu'un trouve la solution pour VB6, je suis preneur !
ThunderPsycho
Messages postés180Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention 4 février 2007 13 juin 2003 à 07:31
La variable 'rtrn' n'est pas très utile ici...
J'aime bien l'exemple d'utilisation de la fonction ;o)))
20 déc. 2011 à 14:33
merci pour le script qui fonctionne très bien.
27 juin 2004 à 16:58
je suis dsl mais je débute et je connais pas trop.
3 juil. 2003 à 10:30
Merci !
26 juin 2003 à 11:45
Sympa ce tit code pe etre utile merci Mrx3 :)
14 juin 2003 à 09:55
Pour les contrôles ActiveX, il suffit de faire CreateObject : s'il n'y a pas d'erreur, c'est que le contrôle est bien enregistré : c'est très simple, mais cela oblige à instancier le contrôle effectivement.
13 juin 2003 à 13:06
m'en suis encore servi ce matin
moi je l'utilise sans fonction, mais le principe c le meme, lire une cle et gerer l'erreur avec le On error resume next...
13 juin 2003 à 13:06
13 juin 2003 à 12:54
13 juin 2003 à 12:47
13 juin 2003 à 12:11
13 juin 2003 à 11:02
13 juin 2003 à 11:01
13 juin 2003 à 09:40
Public Shared Function bCleRegistreExiste(ByVal sCle$) As Boolean
' Vérifier si une clé existe dans la base de registre
' c'est utile pour savoir si un contrôle ActiveX est enregistré
Dim sValCle$
Try
' This call goes to the Catch block if the registry key is not set.
Dim myRegKey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.ClassesRoot
myRegKey = myRegKey.OpenSubKey(sCle)
Dim sSousCle$ = "" ' Sous-clé par défaut
Dim oValue As Object = myRegKey.GetValue(sSousCle)
sValCle = CStr(oValue)
bCleRegistreExiste = True ' On peut lire cette clé, donc elle existe
Catch
sValCle = ""
End Try
'MsgBox(sValCle)
Exit Function
End Function
Si quelqu'un trouve la solution pour VB6, je suis preneur !
13 juin 2003 à 07:31
J'aime bien l'exemple d'utilisation de la fonction ;o)))