ZGPW35
Messages postés5Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 6 mars 2007
-
2 janv. 2007 à 13:44
ZGPW35
Messages postés5Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 6 mars 2007
-
5 janv. 2007 à 11:47
Bonjour et bonne année 2007 à tous,
Je souhaite écrire dans la base de registre à partir d'un script en vbs. Pour cela j'utilise la fonction oShell.RegWrite. La valeur à insérer dans le registre est de type REG_BINARY et la valeur que je souhaite lui attribuer est très longue. Du coup à chaque fois que je dépasse les 4 bits j'ai un message d'erreur du type 'Erreur de syntaxe'. Est que quelqu'un connait une méthode pour les valeurs supérieurs à 4 bits.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 3 janv. 2007 à 10:39
salut,
reg_binary ne sert à rien dans les vbs car il est limité à 4 octets (et pas bits ;) )...avec regwrite tu ne peux pas, il faut que tu passes par les apis regxxx : regcreatekey, regclosekey et regsetvalue...
ZGPW35
Messages postés5Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 6 mars 2007 3 janv. 2007 à 11:49
salut,
merci d'avoir répondu.
Le problème est que je ne veux pas passer par les apis, il faut que je trouve une autre solutions. J'essaie de voir si en utilisant 'objshell.run' je peux solutionner le problème. Je mettrai les résultats de mes essais dès que ceci seront finis.
Si d'autres on une solution à m'apporter autre que par les apis, je suis preneurs.
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009 4 janv. 2007 à 04:51
Lu,
je sais pas si tu utilise google mais en tapant "vbscript base de registre" , tu trouve ton bonheur
Il existe la solution du vbscript (extension .vbs). Un extrait de MSDN :
Microsoft® Windows® Script Host
RegWrite Method WSH Reference
Version 1
Description
Sets the registry key or value named by strName.
Syntax
object.RegWrite strName, anyValue [,strType]
Parameters
Part Description
object WshShell object.
strName Key or value name to write.
anyValue The value to write into the key or registry value.
strType Optional. The data type for the value being stored in the registry.
Remarks
If strName ends with the backslash character (\), this method returns the key instead of the value. StrName must begin with one of following root key names:
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
RegWrite supports strType as REG_SZ, REG_EXPAND_SZ, REG_DWORD, and REG_BINARY. If another data type is passed as strType, RegWrite returns E_INVALIDARG.
RegWrite automatically converts anyValue to a string when strType is REG_SZ or REG_EXPAND_SZ. If strType is REG_DWORD, anyValue is converted to an integer. If strType is REG_BINARY, anyValue must be an integer.
Example
The following example writes a value and key entry into the registry:
Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.RegWrite "HKCU\ScriptEngine\Value", "Some string value"
WshShell.RegWrite "HKCU\ScriptEngine\Key", 1 ,"REG_DWORD"
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 4 janv. 2007 à 12:22
salut,
Le cancre : "If strType is REG_BINARY, anyValue must be an integer." => cela rend cette solution inutilisable pour la plupart des REG_BINARY qui par définition font plus de 4 octets...et justement c'est le sujet de ce post :)) ...
sinon pour compléter : peut être que tu peux lancer un .reg depuis un vbs avec Shell ou autre..
ShareVB
Vous n’avez pas trouvé la réponse que vous recherchez ?
ZGPW35
Messages postés5Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 6 mars 2007 5 janv. 2007 à 11:47
salut,
ShareVB : "peut être aue tu peux lancer un .reg depuis un vbs avec shell ou autre.." => c'est surement la dernière solution qui me reste même si elle ne me plait pas trop car je vais devoir intégrer un fichier supplémentaire dans ma procédure.