madustbin
Messages postés29Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention20 novembre 2016
-
2 avril 2005 à 20:23
cs_Banzai
Messages postés17Date d'inscriptionlundi 12 août 2002StatutMembreDernière intervention16 février 2011
-
21 avril 2005 à 15:25
Bonjour.
Lorsque j'utilise l'instruction :
Shell.RegWrite
VB6 m'affiche une info Bulle contenant :
RegWrite(Name As String, Value, [Type])
Je souhaiterais ecrire une cle dans la Base De Regsitre que je possede dans un fichier .reg.
L'info etant de l'hexadecimal, elle devrait etre ecrite avec le type REG_BINARY je pense.
Mais je n'y arrive pas.
J'ai meme essaye de lire la cle existante et de la reecrire.
Mais s'il accepte le type Variant pour la lecture, il refuse que j'ecrive avec.
Je pourrais faire un shell.Run du fichier, mais il m'affiche 2 fois une msgbox ou il faut cliquer sur OK.
Et ca, ca n'est pas super.
Si quelqu'un pouvait m'aider...
Merci.
PS : voici l'apercu de mon fichier .reg
[HKEY_USERS\xxxx\Software\xxx\xxx]
"ABCD"=hex:FB,20,87
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 5 avril 2005 à 22:20
Je ne comprend pas ton ressentiment. Il est pourtant facile de "retrouver ses anciens messages". Visiblement la recherche n'est pas ton fort car, tu tapais "regwrite vb" dans google et tu aurais eu plein de pages où tu aurais trouvé ton bonheur.
Dans mon dernier post, j'ai fais une tite erreur, je le reconnais mais je ne me sers pas de ("wscript.shell") et j'ai un peu confondu avec d'autres méthodes. Mais si tu regardes bien le post de Enernet, il y a la solution. Le seul truc c'est qu'il faut l'écrire de cette manière, enfin d'après ce que tu aurais pu trouver avec google :
A toi de savoir ce qu'il a à la place de tes xxxx.
"FB2087" étant la valeur que tu as dis vouloir inscrire. Pas de virgule, pas de hex()...
Si cette dernière réponse ne te convient pas et surtout si tu ne nous prend que pour des distributeurs automatiques de solutions, tu peux effectivement oublier ce forum. On ne te regrettera pas.
cs_Banzai
Messages postés17Date d'inscriptionlundi 12 août 2002StatutMembreDernière intervention16 février 2011 18 avril 2005 à 16:38
Je suis aussi en train de lutter avec REG_BINARY :)
Le pb est que le type REG_BINARY ne prend que de l'integer. Et le pb qui se pose c'est que si l'on veut une valeur 12 00 00 00 dans le registre, je n'arrive pas a trouver la bonne valeur integer à saisir dans le script VBS qui me donnera 12 00 00 00 dans le registre.
Si quelqu'un peut me donner le secret de la convertion hex --> bin de la base de registre ...
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 19 avril 2005 à 19:56
Une autre solution :
En fait, tu peux passer du long et de l'hexa avec reg_binary (après tout, un long ou un hexa est converti en binaire en mémoire) mais pas du string (ce que te renverrai un hex()).
Le problème, avec reg_binary, c'est les octets de poids forts et faibles.
Si tu veux obtenir "01 02 03 04" dans ta valeur binary de ta registry, il faut inverser tous les octets de "01 02 03 04" que tu peux passer comme ça si c'est toi qui dit que ... :
Mais il faut que tu sois sùr que TaValeur puisse être convertie en long (en vb6). "Converted to.... integer" de la msdn doit plutôt correspondre à int32 de vb.net.
L'exemple que je te donnes est en vb6 donc à adapter pour vb.net.