je cherche à créer une entrée dans le Registre, en valeur binaire ...
jusque là, tout va bien, avec RegSetValueEx !>
mais là où ça va plus, c'est qu'il faut absolument que sa valeur soit 02
00 00 00 ....
Hmm... 02 00 00 00 en Binaire ?
Ca confirme l'adage bien connu: "Il y a seulement 10 sortes de gens: ceux qui comprennent le binaire et ceux qui ne le comprennent pas."
:-) Jean_marc
François Picalausa
Bonjour/soir,
Essaye ceci: lngRoot, strKeyPath et strValueName correspondent respectivement à -la clé primaire (HK_ROOT, HK_CU, HK_LM, ..) -le chemin sous cette clé (par exemple: "software") -le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être "As Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then '02 00 00 00 BytesTbl(0) = 2 BytesTbl(1) = 0 BytesTbl(2) = 0 BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _ strKeyPath & vbNullChar, 0, _ KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then 'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée 'a noter qu'on passe le premier byte et pas le tableau '(en fait, un pointeur vers le premier) '4 est la longueur 'Note que pour 4, on peut le coder sur un DWORD RegSetValueEx hKey, strValueName, 0, REG_BINARY, BytesTbl(0), 4 RegCloseKey hKey End If End If
On pourrait aussi le faire à partir d'une chaine contenant: Chr(2) & string$(3, vbnullchar) (ce qui est égal à un caractère 2 suivit de trois caractères 0) Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il faudrait passer la chaine comme ceci: Dim strValue As String strValue = Chr(2) & string$(3, vbnullchar)
je cherche à créer une entrée dans le Registre, en valeur binaire ... jusque là, tout va bien, avec RegSetValueEx !
mais là où ça va plus, c'est qu'il faut absolument que sa valeur soit 02 00 00 00 ....
qu'est ce que je dois mettre comme valeur de strdata, pour arriver à afficher ce résultat dans le Registre ???
merci d'avance !
Bonjour/soir,
Essaye ceci:
lngRoot, strKeyPath et strValueName
correspondent respectivement à
-la clé primaire (HK_ROOT, HK_CU, HK_LM, ..)
-le chemin sous cette clé (par exemple: "software")
-le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être "As
Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then
'02 00 00 00
BytesTbl(0) = 2
BytesTbl(1) = 0
BytesTbl(2) = 0
BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _
strKeyPath & vbNullChar, 0, _
KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then
'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée
'a noter qu'on passe le premier byte et pas le tableau
'(en fait, un pointeur vers le premier)
'4 est la longueur
'Note que pour 4, on peut le coder sur un DWORD
RegSetValueEx hKey, strValueName, 0, REG_BINARY, BytesTbl(0), 4
RegCloseKey hKey
End If
End If
On pourrait aussi le faire à partir d'une chaine contenant:
Chr(2) & string$(3, vbnullchar)
(ce qui est égal à un caractère 2 suivit de trois caractères 0)
Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il faudrait
passer la chaine comme ceci:
Dim strValue As String
strValue = Chr(2) & string$(3, vbnullchar)
Essaye ceci: lngRoot, strKeyPath et strValueName correspondent respectivement à -la clé primaire (HK_ROOT, HK_CU, HK_LM, ..) -le chemin sous cette clé (par exemple: "software") -le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être "As Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then '02 00 00 00 BytesTbl(0) = 2 BytesTbl(1) = 0 BytesTbl(2) = 0 BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _ strKeyPath & vbNullChar, 0, _ KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then 'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée 'a noter qu'on passe le premier byte et pas le tableau '(en fait, un pointeur vers le premier) '4 est la longueur 'Note que pour 4, on peut le coder sur un DWORD RegSetValueEx hKey, strValueName, 0, REG_BINARY, BytesTbl(0), 4 RegCloseKey hKey End If End If
On pourrait aussi le faire à partir d'une chaine contenant: Chr(2) & string$(3, vbnullchar) (ce qui est égal à un caractère 2 suivit de trois caractères 0) Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il faudrait passer la chaine comme ceci: Dim strValue As String strValue = Chr(2) & string$(3, vbnullchar)
je cherche à créer une entrée dans le Registre, en valeur binaire ... jusque là, tout va bien, avec RegSetValueEx !
mais là où ça va plus, c'est qu'il faut absolument que sa valeur soit 02 00 00 00 ....
qu'est ce que je dois mettre comme valeur de strdata, pour arriver à afficher ce résultat dans le Registre ???
merci d'avance !
François Picalausa
Bonjour/soir,
et pourtant dans l'éditeur du registre, les valeurs enregistrées en tant que REG_BINARY sont affichées en tant qu'hexadécimale et on ne peut enregistrer les valeurs que par octets. Quand a savoir si les gens qui ont pensé l'éditeur de registre faisaient partie du type 1 ou 10... ?
"Jean-Marc" a écrit dans le message de news:401d72d6$0$309$
"scraper" a écrit dans le message de news:
bonsoir à tous !
je cherche à créer une entrée dans le Registre, en valeur binaire ...
jusque là, tout va bien, avec RegSetValueEx !>
mais là où ça va plus, c'est qu'il faut absolument que sa valeur soit 02 00 00 00 ....
Hmm... 02 00 00 00 en Binaire ?
Ca confirme l'adage bien connu: "Il y a seulement 10 sortes de gens: ceux qui comprennent le binaire et ceux qui ne le comprennent pas."
:-) Jean_marc
Bonjour/soir,
et pourtant dans l'éditeur du registre, les valeurs enregistrées en tant que
REG_BINARY sont affichées en tant qu'hexadécimale et on ne peut enregistrer
les valeurs que par octets.
Quand a savoir si les gens qui ont pensé l'éditeur de registre faisaient
partie du type 1 ou 10... ?
et pourtant dans l'éditeur du registre, les valeurs enregistrées en tant que REG_BINARY sont affichées en tant qu'hexadécimale et on ne peut enregistrer les valeurs que par octets. Quand a savoir si les gens qui ont pensé l'éditeur de registre faisaient partie du type 1 ou 10... ?
"Jean-Marc" a écrit dans le message de news:401d72d6$0$309$
"scraper" a écrit dans le message de news:
bonsoir à tous !
je cherche à créer une entrée dans le Registre, en valeur binaire ...
jusque là, tout va bien, avec RegSetValueEx !>
mais là où ça va plus, c'est qu'il faut absolument que sa valeur soit 02 00 00 00 ....
Hmm... 02 00 00 00 en Binaire ?
Ca confirme l'adage bien connu: "Il y a seulement 10 sortes de gens: ceux qui comprennent le binaire et ceux qui ne le comprennent pas."
:-) Jean_marc
scraper
Salut à François Picalausa, qui nous a nous a écrit/ répondu
dans son message :
Bonjour/soir,
:-)
Essaye ceci: lngRoot, strKeyPath et strValueName correspondent respectivement à -la clé primaire (HK_ROOT, HK_CU, HK_LM, ..) -le chemin sous cette clé (par exemple: "software") -le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être "As Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then '02 00 00 00 BytesTbl(0) = 2 BytesTbl(1) = 0 BytesTbl(2) = 0 BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _ strKeyPath & vbNullChar, 0, _ KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then 'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée 'a noter qu'on passe le premier byte et pas le tableau '(en fait, un pointeur vers le premier) '4 est la longueur 'Note que pour 4, on peut le coder sur un DWORD RegSetValueEx hKey, strValueName, 0, REG_BINARY, BytesTbl(0), 4 RegCloseKey hKey End If End If
oui ... j'ai tout bien fait comme ça, et en retour,je reçois une erreur sur BytesTbl(0) (type incompatible, si je me souviens ?)
On pourrait aussi le faire à partir d'une chaine contenant: Chr(2) & string$(3, vbnullchar) (ce qui est égal à un caractère 2 suivit de trois caractères 0) Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il faudrait passer la chaine comme ceci: Dim strValue As String strValue = Chr(2) & string$(3, vbnullchar)
c'est le top ....j'ai rien eu à modifier à ma fonction ! :-)
c'est la valeur que je savais pas passer (et aussi le as any pour être franc ! ;-)
merci beaucoup ....
à demain pour d'autres questions ... lol
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Salut à François Picalausa, qui nous a nous a écrit/ répondu
dans son message eFE0e0Q6DHA.1664@TK2MSFTNGP11.phx.gbl :
Bonjour/soir,
:-)
Essaye ceci:
lngRoot, strKeyPath et strValueName
correspondent respectivement à
-la clé primaire (HK_ROOT, HK_CU, HK_LM, ..)
-le chemin sous cette clé (par exemple: "software")
-le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être
"As Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then
'02 00 00 00
BytesTbl(0) = 2
BytesTbl(1) = 0
BytesTbl(2) = 0
BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _
strKeyPath & vbNullChar, 0, _
KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then
'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée
'a noter qu'on passe le premier byte et pas le tableau
'(en fait, un pointeur vers le premier)
'4 est la longueur
'Note que pour 4, on peut le coder sur un DWORD
RegSetValueEx hKey, strValueName, 0, REG_BINARY,
BytesTbl(0), 4 RegCloseKey hKey
End If
End If
oui ... j'ai tout bien fait comme ça, et en retour,je reçois une erreur sur BytesTbl(0) (type incompatible, si je me souviens ?)
On pourrait aussi le faire à partir d'une chaine contenant:
Chr(2) & string$(3, vbnullchar)
(ce qui est égal à un caractère 2 suivit de trois caractères 0)
Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il
faudrait passer la chaine comme ceci:
Dim strValue As String
strValue = Chr(2) & string$(3, vbnullchar)
Salut à François Picalausa, qui nous a nous a écrit/ répondu
dans son message :
Bonjour/soir,
:-)
Essaye ceci: lngRoot, strKeyPath et strValueName correspondent respectivement à -la clé primaire (HK_ROOT, HK_CU, HK_LM, ..) -le chemin sous cette clé (par exemple: "software") -le nom de la valeur
Dans la déclaration de RegSetValueEx, le 5ème paramètre doit être "As Any"
Dim hKey As Long, BytesTbl(3) As Byte
If Inited Then '02 00 00 00 BytesTbl(0) = 2 BytesTbl(1) = 0 BytesTbl(2) = 0 BytesTbl(3) = 0
If RegOpenKeyEx(lngRoot, _ strKeyPath & vbNullChar, 0, _ KEY_SET_VALUE, hKey) = ERROR_SUCCESS Then 'Si l'ouverture de la clé a réussi
'on écrit la valeur appropriée 'a noter qu'on passe le premier byte et pas le tableau '(en fait, un pointeur vers le premier) '4 est la longueur 'Note que pour 4, on peut le coder sur un DWORD RegSetValueEx hKey, strValueName, 0, REG_BINARY, BytesTbl(0), 4 RegCloseKey hKey End If End If
oui ... j'ai tout bien fait comme ça, et en retour,je reçois une erreur sur BytesTbl(0) (type incompatible, si je me souviens ?)
On pourrait aussi le faire à partir d'une chaine contenant: Chr(2) & string$(3, vbnullchar) (ce qui est égal à un caractère 2 suivit de trois caractères 0) Dans ce cas, si le 5ème paramètre de RegSetValueEx est As Any, il faudrait passer la chaine comme ceci: Dim strValue As String strValue = Chr(2) & string$(3, vbnullchar)