Functions > Registry >


RegWrite

Cr�e une cl� ou une valeur dans la base de registre.

RegWrite ( "keyname" [, "valuename", "type", value] )

Param�tres

keyname La cl� de la base de registre � �crire. Si aucun autre param�tre n'est sp�cifi� cette cl� sera simplement cr��e.
valuename [optionnel] Le nom de la valeur � �crire.
type [optionnel] Type de cl� � �crire: "REG_SZ", "REG_MULTI_SZ", "REG_EXPAND_SZ", "REG_DWORD", "REG_QWORD", ou "REG_BINARY".
value [optionnel] La valeur � �crire.

Valeur de retour

Succ�s: Retourne 1.
�chec: Retourne 0 et d�finit @error <> 0 s'il y a une erreur d'�criture dans la cl� ou dans la valeur.
@error: 1 = impossible d'ouvrir la cl� demand�e
2 = impossible d'ouvrir la cl� principale demand�e
3 = impossible de se connecter � distance au registre
-1 = impossible d'ouvrir la valeur demand�e
-2 = type de valeur non pris en charge

Remarques

Une cl� de la base de registre doit commencer par "HKEY_LOCAL_MACHINE" ("HKLM") ou "HKEY_USERS" ("HKU") ou "HKEY_CURRENT_USER" ("HKCU") ou "HKEY_CLASSES_ROOT" ("HKCR") ou "HKEY_CURRENT_CONFIG" ("HKCC").

Lors de l'ex�cution sur Windows 64 bits si vous voulez �crire une cl� ou une valeur sp�cifique � l'environnement 64 bits, vous devez suffixer HK ... avec 64 i.e. HKLM64.

AutoIt supporte les cl�s de la base de registre de type REG_BINARY, REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_QWORD, et REG_DWORD.

Pour acc�der � la valeur par (par d�faut) utilisez "" (une cha�ne vide) pour le nom de la valeur.

Lors de l'�criture d'une cl� REG_MULTI_SZ vous devez s�parer chaque valeur par @LF. La valeur ne doit pas se terminer par @LF sauf si vous voulez une cha�ne vide (Voir exemple).

Il est possible d'acc�der � des registres � distance en utilisant des noms de valeur sous la forme "\\nom_ordinateur\nom_de_la_cl�". Pour utiliser cette fonctionnalit� vous devez avoir les droits d'acc�s corrects.

En relation

RegDelete, RegEnumKey, RegEnumVal, RegRead

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Regarde si la cl� de registre existe d�j�, pour ne pas endommager le syst�me de l'utilisateur.
    RegRead("HKEY_CURRENT_USER\Software\AutoIt_Example", "Key1")

    ; @error est d�fini <> 0 lors de la lecture d'une cl� de registre qui n'existe pas.
    If Not @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur s'est produite, la cl� de registre temporaire  'AutoIt_Example' semble exister d�j�.")
        Return False
    EndIf

    ; Write a single REG_SZ value to the key "Key1".
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt_Example", "Key1", "REG_SZ", "Ceci est un exemple de RegWrite")

    ; Ecrit la valeur REG_MULTI_SZ sur "Line 1" et "Line 2". Ajoute toujours un caract�re de saut de ligne suppl�mentaire lors de l'�criture d'une valeur REG_MULTI_SZ.
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt_Example", "Key2", "REG_MULTI_SZ", "Line 1" & @LF & "Line 2" & @LF)

    ; Ecrit la valeur REG_MULTI_SZ sur "Line 1". Ajoute toujours un caract�re de saut de ligne suppl�mentaire lors de l'�criture d'une valeur REG_MULTI_SZ.
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt_Example", "Key3", "REG_MULTI_SZ", "Line 1" & @LF)

    ; Ajoute un message pour naviguer dans RegEdit.exe manuellement.
    MsgBox($MB_SYSTEMMODAL, "", "Ouvre RegEdit.exe et navigue vers la cl� de registre "HKEY_CURRENT_USER\Software\AutoIt_Example"".")

    ; Supprime la cl� de registre temporaire.
    RegDelete("HKEY_CURRENT_USER\Software\AutoIt_Example")
EndFunc   ;==>Example