Functions > Registry >


RegDelete

Supprime une clé ou une valeur dans la base de registre.

RegDelete ( "keyname" [, "valuename"] )

Paramètres

keyname La clé de la base de registre à supprimer.
valuename [optionnel] La valeur à supprimer.

Valeur de retour

Succès: Retourne 1.
Spécial: Retourne 0 si la clé/valeur n'existe pas.
Échec: Retourne 2 si erreur lors de la suppression et définit @error <> 0.
@error: 1 = impossible d'ouvrir la clé demandée
2 = impossible d'ouvrir la clé principale
3 = impossible de se connecter au registre distant
-1 = impossible de supprimer la valeur demandée
-2 = impossible de supprimer la clé/valeur demandée

Remarques

Une clé de 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").

Dans un système Windows 64-bits, si vous souhaitez supprimer une clé ou une valeur spécifique à l'environnement 64-bits, il est nécessaire de faire suivre HK... par 64. Par exemple : HKLM64.

Pour accéder à la valeur Default, utilisez "" (une chaine vide) pour paramètre valuename.

Supprimer une clé dans le registre est potentiellement dangereux -- A utiliser avec précaution!

Il est possible d'accéder à des registres distants en utilisant un nom de clé sous la forme "\\computername\keyname". Pour utiliser cette fonctionnalité, vous devrez avoir les bons droits d'accès.

En relation

RegEnumKey, RegEnumVal, RegRead, RegWrite

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