Errreur lors de la lecture du registre

Signaler
Messages postés
33
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2006
-
Messages postés
33
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2006
-
Salut
J ai testé un petit script pour lire le registre de PC que voici :

'Dim msg

Set WshShell = CreateObject("WScript.Shell")

WshShell.RegRead "HKCU\Software\Adobe"

If "HKCU\Software\Adobe" = True Then
msg = MsgBox ("Adobe est installé")

End if'

A l exécution, il me met ce message d'erreur :
'Impossible d'ouvrir la clé de registre "HKCU\Software\Adobe" pour la lecture.

Ce script doit détecter si un programme est disponible sur le PC et s'il ne l'est pas, réaliser son installation.

Si quelqu un pouvait déterminer la cause de mon problème, ce serait sympa. Merci d'avance

3 réponses

Messages postés
158
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007

Déjà, puisque "HKCU\Software\Adobe" est une chaîne de caractère, ton dernier test devrait renvoyer une erreur "type mismatch".

Ensuite, pour lire une clé (un répertoire), le dernier \ est important :
WshShell.RegRead "HKCU\Software\Adobe"

Enfin, concernant ton msg d'erreur à la lecture, ça s'explique par le fait que la valeur par défaut de la clé "Adobe" n'est pas définie. Modifie la valeur par défaut à l'aide de regedit et tu verras que tout rentre dans l'ordre.

Pour conclure, je pense pas que ce soit possible de détecter la présence d'une clé "quelconque" à l'aide de l'objet ("WScript.Shell"). Tu trouveras des codes sur le NET qui utilise l'erreur renvoyée par RegRead pour décider si oui ou non la clé existe mais si tu as bien compris ma précédente remarque, ce n'est fiable que pour des clés dont une valeur par défaut a été préalablement définie.

Solution?? API??
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

certaines instructions d'accès registre par objet (WScript) sont parfois (souvent?) interprétées comme une commande "virale".

rien que pour çà, çà suffit à être convaincu d'utiliser les API.

tu y verras un exemple concis sur ma source AfConfig.



Egyde -> tu peux néanmois lire et écrire ; très rapide et facile pour une programme au démarrage par exemple...



++

PCPT [AFCK]
Messages postés
33
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2006

On ne peut pas utiliser les API avec le VBS car elles ne sont pas supportées. Je vais essayer de faire des recherches sur RegRead et je vous informe de mes progrès ou surement de mes soucis.

Merci pour votre aide