Ouvre la cl� de registre sp�cifi�e
#include <WinAPIReg.au3>
_WinAPI_RegOpenKey ( $hKey [, $sSubKey = '' [, $iAccess = 0x000F003F]] )
$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. |
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. |
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.
_WinAPI_RegCloseKey, _WinAPI_RegCreateKey
Consultez RegOpenKeyEx dans la librairie MSDN.
#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')