écrire une valeur trop grande dans la base de registre

Résolu
dannywilde Messages postés 27 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 30 mars 2009 - 6 sept. 2004 à 15:37
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 6 sept. 2004 à 16:48
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

dannywilde Messages postés 27 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 30 mars 2009
6 sept. 2004 à 16:24
en fait il falais mettre la valeur -1

Merci pour ton aide

Amicalement votre ;-)
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 sept. 2004 à 15:46
T as essayer de ecrire la valeur en hexa au lieu de l ecrire en decimal?
-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
dannywilde Messages postés 27 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 30 mars 2009
6 sept. 2004 à 15:54
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 ;-)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
6 sept. 2004 à 16:48
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
0
Rejoignez-nous