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 )
$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. |
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. |
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.
_WinAPI_RegCreateKey, _WinAPI_RegOpenKey
Consultez RegQueryValueEx dans la librairie MSDN.
#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)