UDF > WinAPIEx > Registry >


_WinAPI_RegOpenKey

Ouvre la cl� de registre sp�cifi�e

#include <WinAPIReg.au3>
_WinAPI_RegOpenKey ( $hKey [, $sSubKey = '' [, $iAccess = 0x000F003F]] )

Param�tres

$hKey Handle de la cl� de Registre ouvert. Ce handle est retourn� par la fonction _WinAPI_RegCreateKey() ou _WinAPI_RegOpenKey(), ou bien il peut �tre l'une des cl�s pr�d�finies suivantes.
$HKEY_CLASSES_ROOT
$HKEY_CURRENT_USER
$HKEY_LOCAL_MACHINE
$HKEY_USERS
$sSubKey [optionnel] Le nom de la sous-cl� de registre � ouvrir (voir remarques).
$iAccess [optionnel] Un masque qui sp�cifie les droits d'acc�s souhait�s � la cl�. La fonction �choue si le descripteur de s�curit� de la cl� ne permet pas l'acc�s demand� pour le processus appelant. Ce param�tre peut �tre une ou plusieurs des constantes $KEY_*. Par d�faut, $KEY_ALL_ACCESS.

Valeur de retour

Succ�s: Retourne le handle de la cl� ouverte.
�chec: Retourne 0 et d�finit @error <> 0, @extended peut contenir le code d'erreur du syst�me.

Remarques

Contrairement � la fonction _WinAPI_RegCreateKey(), la fonction _WinAPI_RegOpenKey() ne cr�e pas la cl� sp�cifi�e si la cl� n'existe pas dans le registre.

Si la cl� n'est pas l'une des cl�s de registre pr�d�finies ($HKEY_*), vous devez appeler la fonction _WinAPI_RegCloseKey() apr�s que vous ayez fini d'utiliser le handle.

Les noms des cl�s ne sont pas sensibles � la casse.

Le param�tre $sSubKey peut �tre la cha�ne vide.
Si $sSubKey est la cha�ne vide et $hKey est HKEY_CLASSES_ROOT, le retour est le m�me handle $hKey pass� � la fonction.
Sinon, le retour est un nouveau handle de la cl� sp�cifi�e par $hKey.

Le param�tre $sSubKey peut �tre NULL seulement si $hKey est l'une des cl�s pr�d�finies.
Si $sSubKey est NULL et $hKey est HKEY_CLASSES_ROOT, le retour est un nouveau handle de la cl� sp�cifi�e par $hKey.
Sinon, le retour est le m�me handle $hKey pass� � la fonction.

En relation

_WinAPI_RegCloseKey, _WinAPI_RegCreateKey

Voir aussi

Consultez RegOpenKeyEx dans la librairie MSDN.

Exemple

#include <APIRegConstants.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
#include <WinAPIReg.au3>

Local $hKey = _WinAPI_RegOpenKey($HKEY_CLASSES_ROOT, 'CLSID', $KEY_READ)
If @error Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), @extended, _WinAPI_GetErrorMessage(@extended))
    Exit
EndIf
Local $iCount = _WinAPI_RegQueryInfoKey($hKey)
Local $aKey[$iCount[0]]
For $i = 0 To UBound($aKey) - 1
    $aKey[$i] = _WinAPI_RegEnumKey($hKey, $i)
Next

_WinAPI_RegCloseKey($hKey)

_ArrayDisplay($aKey, '_WinAPI_RegEnumKey')