[RESOLU] VBS - Modification d'une clé REG_BINARY

VBS - Modification d'une clé REG_BINARY [RESOLU] - VB/VBA/VBS - Programmation

Marsh Posté le 20-04-2011 à 15:57:05    

Bonjour à tous,
 
Je me permet de vous solliciter à nouveau pour une demande de modifs de clé de registre.
La clé en question : HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects2 et la valeur : Settings.
 
Je souhaite modifier ceci :
 
Reg par défautWindows Registry Editor Version 5.00 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects2]"Settings"=hex:28,00,00,00,ff,ff,ff,ff,02,00,00,00,03,00,00,00,92,00,00,00,1e, 00,00,00,00,00,00,00,66,03,00,00,a0,05,00,00,84,03,00,00
 
par ceci :
 
Reg finalWindows Registry Editor Version 5.00 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects2]"Settings"=hex:28,00,00,00,ff,ff,ff,ff,72,00,00,00,03,00,00,00,56,00,00,00,1e,  00,00,00,fe,ff,ff,ff,e4,02,00,00,02,04,00,00,02,03,00,00
 
Voila le dévut de mon code :
 
'Verrouillage des variables'
Option Explicit
'Déclaration des différentes variables
Dim OCmd,strComputer,Tab,oReg,KeyName,ValueName
'Je créé l'instance de l'objet Shell en l'occurence l'instance qui gère les lignes de commandes
Set OCmd = WScript.CreateObject ("WSCript.Shell";)
'Modif de clé dans la BdR
'- masquer son, réseau / afficher horloge
const HKCU = &H80000001
Const REG_BINARY = 3
Tab= array( _
"28,00,00,00,ff,ff,ff,ff,72,00,00,00,03,00,00,00,56,00,00,00,1e," & _  
"00,00,00,fe,ff,ff,ff,e4,02,00,00,02,04,00,00,02,03,00,00";)
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _
strComputer & "rootdefault:StdRegProv";)
KeyName="SoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects2"
ValueName="Settings"
Do
If valeurDeBase(i) <> valeurfinal(i) then
ValeurCle(i) = valeurfinal(i)
I = i+1
Loop While i = DerniereValeur
 
 
Mais je bloque sur la modification des valeurs.
Je pensait faire un Do while jusqu'à la fin de l'ensemble des valeurs
Et un si une valeur est différente alors il attribue la valeur du reg final.
 
Pouvez-vous m'aidez svp.
 
Merci d'avance


Message édité par roloulou63 le 21-04-2011 à 15:32:29
Reply

Marsh Posté le 20-04-2011 à 15:57:05   

Reply

Marsh Posté le 21-04-2011 à 15:28:58    

J'ai trouvé une solution plus simple. La modification de la clé même si la valeur est identique.
 
Voici mon bout de code :
 
const HKCU = &H80000001
'strComputer reçoit le nom de la machine d'où est lancé le script
strComputer = "."
'On utilise la méthode StdRegProvpour pouvoir travailler dans la base de registre
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv" )
'La variable Tab reçoit les valeurs à intégrer dans la clé de valeur du registre
'IMPORTANT : Valeurs à saisir en décimal
Tab= array(40,0,0,0,255,255,255,255,114,0,0,0,3,0,0,0,86,0,0,0,30,_
&0,0,0,254,255,255,255,228,2,0,0,2,4,0,0,2,3,0,0)
'KeyName est la variable qui reçoit le chemin dans la base de registre
KeyName="Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2"
'ValueName est la variable qui reçoit le nom de la clé de valeur à modifier
ValueName="Settings"
'SetBinaryValue permet d'écrire(remplacer ou ajouter) les valeurs de Tab dans
'la clé de valeur ValueName qui correspond à "Settings"
oReg.SetBinaryValue HKCU, KeyName,ValueName,Tab
 
Merci à ce lien trouvé sur internet :
http://blogs.technet.com/b/heyscri [...] istry.aspx
Ca peut aider des gens

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed