Base de registre et valeur binaire

Asaiel Messages postés 37 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 21 septembre 2006 - 20 oct. 2005 à 16:19
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 20 oct. 2005 à 23:13
Bonjour,

Une de mes applis doit écrire une clé binaire dans le registre. Pour cela, j'utilise le code suivant:

dim valeur as string
dim cle as string

Set wsh = CreateObject("WScript.Shell")

cle = txt_cle.text
Valeur = txt_valeur.text

wsh.RegWrite cle, valeur, "REG_BINARY"

Je me doute que le problème se pose dans la déclaration de la variable "Valeur", qui ne devrait probablement pas être string, car j'obtiens l'erreur: type incompatible.

Lorsque je teste cette portion de code:
wsh.RegWrite cle, 1, "REG_BINARY"
Tout fonctionne bien, mais lorsque je teste le code suivant:
wsh.RegWrite cle, 41, "REG_BINARY"
J'obtiens en valeur de ma clé la chose suivante: 29 00 au lieu de 41.

Ma question est donc la suivante:
Si je veux rentrer dans txt_valeur.text le code tel que l'on peut le trouver dans les clé binaires (ex: 73 61 6C 75 74 pour "salut" :D), puis l'insérer dans une clé binaire définie dans txt_cle.text, comment dois je adapter mon code?

Merci beaucoup pour votre aide...

Asaiel

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
20 oct. 2005 à 16:31
Il faut sûrement que tu convertisse tes chaînes en héxadécimal (note : 41 en décimal = 29 en héxa...)

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
Asaiel Messages postés 37 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 21 septembre 2006
20 oct. 2005 à 16:55
Bonjour, et merci de ta réponse si rapide,

Je suis parfaitement d'accord avec toi, mais dans ce cas, comment déclarer ma variable pr ne pas avoir l'erreur type incompatible?

Un truc du genre dim valeur as hex.....
0
Asaiel Messages postés 37 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 21 septembre 2006
20 oct. 2005 à 17:11
je viens de consulter cette adresse:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsMthRegWrite.asp

Il semblerait que le type nécessaire soit integer, mais j'ai pourtant essayer le code suivant:

dim valeur as integer
dim cle as string

Set wsh = CreateObject("WScript.Shell")

cle = txt_cle.text
Valeur = txt_valeur.text

wsh.RegWrite cle, valeur, "REG_BINARY"

J'obtiens l'erreur type incompatible encore une fois....
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
20 oct. 2005 à 17:26
Essaye de passer une variable de type Byte



Sinon, utilise autre chose que le WScript pour écrire dans la base de
registre (perso, je préfère amplement les API Windows qui sont plus
souple je trouve).

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
20 oct. 2005 à 23:13
Salut,

J'ai dep[ose il y a quelques jour un code permettant de gerer presque completement la bdr,
qui permet d'ecrire des valeur binaire en string (comme elle sont affichee dans regedit)
Exemple
Modreg.EcrireRegBinaire "HKEY_CURRENT_USER\Ma cle", "Ma valeur" , "73 61 6C 75 74"

voici le lien:
http://www.vbfrance.com/code.aspx?ID=34202

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
Rejoignez-nous