écrire une valeur trop grande dans la base de registre [Résolu]

Signaler
Messages postés
27
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
30 mars 2009
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
je veux écrire la valeur FFFFFFFF

ou en décimale 4294967295

dans la base de registre en vbs

à l'aide de ce code

Dim shell
Dim key
Dim ident

key="HKEY_CURRENT_USER\Identities\Default User ID"

ident=shell.RegRead (Key)

key="HKEY_CURRENT_USER\Identities" & ident & "\Software\Microsoft\Outlook Express\5.0\mail\Poll For Mail"

shell.RegWrite key,"4294967295", "REG_DWORD"

mais a chaque fois j'obtiens le message :

Erreur d'exécution Microsoft VBScript: Dépassement de capacité

Alors que quand je modifie une option dans outlook express, ça écrit bien cette valeur et je peux même l'écrire avec regedit.

Alors ma question c'est comment faire pour l'écrire avec un vbs ?

L'erreur viens t'elle de la variable que j'utilise qui n'est pas dimentionnée pour une telle valeur ?

Merci de l'attention que vous porterez à mon message.

Amicalement votre ;-)

4 réponses

Messages postés
27
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
30 mars 2009

en fait il falais mettre la valeur -1

Merci pour ton aide

Amicalement votre ;-)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
T as essayer de ecrire la valeur en hexa au lieu de l ecrire en decimal?
-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
Messages postés
27
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
30 mars 2009

en fait en Hexa

j'ai écris

"0xFFFFFFFF"
"FFFFFFFF"
0xFFFFFFFF
FFFFFFFF

il m'affiche le message:
Erreur d'exécution Microsoft VBScript: Type incompatible

donc c'est pour ça que je me suis rabatu sur le décimal

a moins qu'il faille indiquer que l'on est en hexadécimal d'une façon que je ne connais pas

Amicalement votre ;-)
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Et si tu codes:

shell.RegWrite key,4294967295, "REG_DWORD"

ça marche pas ?

je ne connais pas bien le vbs mais en vb, j'utilise RegSetValueEx et, si je suppose bien, la valeur attendue est du long, pour moi, "4294967295" c'est du string. D'autre part, il peut y avoir un problème au niveau du vb (ou vbs) qui n'accepte pas l'Unsigned Long et qui limite donc le positif à 2 147 483 647 d'où dépassement de capacité.

Je dis peut être une connerie, mais si tu codes :

shell.RegWrite key,"11111111111111111111111111111111", "REG_BINARY"

Les "1", il devrait y en avoir 32.
Excuses, pas le temps de tester.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands