UDF > WinAPIEx > Registry >


_WinAPI_RegQueryValue

Obtient le type et la donn�e pour nom de la valeur sp�cifi�e associ�e � une cl� de registre ouverte

#include <WinAPIReg.au3>
_WinAPI_RegQueryValue ( $hKey, $sValueName, ByRef $tValueData )

Param�tres

$hKey Handle de la cl� de registre ouverte. La cl� doit avoir �t� ouverte avec le droit d'acc�s KEY_QUERY_VALUE.
Ce handle est retourn� par la fonction _WinAPI_RegCreateKey() ou _WinAPI_RegOpenKey(). Il peut �galement �tre l'une des cl�s pr�d�finies suivantes:
$HKEY_CLASSES_ROOT
$HKEY_CURRENT_CONFIG
$HKEY_CURRENT_USER
$HKEY_LOCAL_MACHINE
$HKEY_PERFORMANCE_DATA
$HKEY_PERFORMANCE_NLSTEXT
$HKEY_PERFORMANCE_TEXT
$HKEY_USERS
$sValueName Le nom de la valeur de registre. Si $sValueName est la cha�ne vide, la fonction r�cup�re le type et la donn�e de la valeur sans nom ou par d�faut de la cl�, le cas �ch�ant.
$tValueData La structure (tampon) qui re�oit les donn�es de la valeur. Cette structure doit �tre cr��e avant l'appel de fonction.

Valeur de retour

Succ�s: Retourne la taille de la donn�e copi�e dans $tValueData, en octets, @extended contiendra le code qui indique le type de donn�es ($REG_*).
�chec: Retourne 0 et d�finit @error <> 0, @extended peut contenir le code d'erreur du syst�me.

Remarques

Si les donn�es ont le type REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ, la taille retourn�e comprend les caract�res de terminaison null, sauf si la donn�e a �t� stock�e sans eux.

Si la m�moire tampon sp�cifi�e par le param�tre $tValueData n'est pas assez grand pour contenir les donn�es, la fonction retourne ERROR_MORE_DATA (234) et retourne la taille de la m�moire tampon n�cessaire. Dans ce cas, les contenus de la m�moire tampon sont ind�finis.

En relation

_WinAPI_RegCreateKey, _WinAPI_RegOpenKey

Voir aussi

Consultez RegQueryValueEx dans la librairie MSDN.

Exemple

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

Local $hKey = _WinAPI_RegOpenKey($HKEY_LOCAL_MACHINE, 'SOFTWARE\AutoIt v3\AutoIt', $KEY_QUERY_VALUE)
If @error Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), @extended, _WinAPI_GetErrorMessage(@extended))
    Exit
EndIf

Local $tData = DllStructCreate('wchar[260]')
_WinAPI_RegQueryValue($hKey, 'InstallDir', $tData)
_WinAPI_RegCloseKey($hKey)

ConsoleWrite(DllStructGetData($tData, 1) & @CRLF)