cs_zephyrin
Messages postés47Date d'inscriptionmercredi 29 mai 2002StatutMembreDernière intervention17 août 2006
-
15 déc. 2004 à 19:15
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
15 déc. 2004 à 22:14
Bonjour,
je souhaite récupérer la valeur d'une clé "par défaut".
exemple : celle d'IE :
HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command
Je le fait avec la commande :
Set pobjRegistre = CreateObject("WScript.Shell")
Dim sLocalisationIE As String
sLocalisationIE = pobjRegistre.Regread("HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command")
Mais ça ne marche pas car je n'arrive pas à donner le bon nom de la clé.
Le code est bon car pour la clé
sSepDecimal= pobjRegistre.Regread("HKEY_CURRENT_USER\Control Panel\International\sDecimal")
Ca marche
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 15 déc. 2004 à 22:14
A ce que j'ai cru comprendre, le WScript.Shell n'est pas capable de lire et écrire ailleurs que dans HKEY_CURRENT_USER.
Personnellement, en VB6, je passe par les API Windows.
Là, il s'agissait de trouver la localisation d'Excel.
Tu n'a qu'à remplacer
Private Sub Form_Load()
Dim s As String
s = GetString(&H80000000, "Excel.Application\CLSID", "")
s = GetString(&H80000000, "CLSID" & s & "\LocalServer32", "")
s = Trim(Left$(s, InStr(1, s, "/") - 1))
MsgBox s
End Sub
par
Private Sub Form_Load()
Dim s As String
s = GetString(&H80000000, "Applications\iexplore.exe\shell\open\command", "")
s = Trim(Left$(s, InStr(1, s, "%") - 1))
MsgBox s
End Sub
&H80000000 représente le HKEY_CLASSES_ROOT.
Bien sûr, ça fait appel à une dll (advapi32.dll) mais pour l'instant, je n'ai rien trouvé de mieux et plus rapide.
En VB.NET, c'est sans doute plus simple mais je ne sais pas encore faire.