Rubrique précédente: RegQueryValue – Extraire une chaîne de texteRubrique suivante: RegSetValue : Associer la clé de registre à une chaîne de texte


RegQueryVariable – Extraire le type et la valeur d'une variable

(Applicable à Windows)

La fonction RegQueryVariable extrait le type et la valeur de la variable spécifiée pour la clé du registre indiquée.

Format de la fonction :

Format 1

RegQueryVariable(hKey as Integer, name as String, strvalue as String, intvalue as Integer) as Integer
hKey

Identifie une clé ouverte ou une clé prédéfinie. Le paramètre hKey peut avoir l'une des valeurs prédéfinies suivantes :

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
name

Identifie le nom de la variable demandée.

strvalue

Identifie le paramètre de sortie qui doit contenir la valeur de chaîne de la variable demandée.

intvalue

Identifie le paramètre de sortie qui doit contenir la valeur Integer de la variable demandée.

Une fois qu'elle a réussi, la fonction renvoie l'une des valeurs suivantes :

REG_NODATA

Une variable est introuvable. Ceci indique que le descripteur était n'était pas valide.

REG_INTEGER

Une variable de type entier a été trouvée ; la valeur est stockée dans la variable intvalue.

REG_STRING

Une variable de type chaîne a été trouvée ; la valeur est stockée dans la variable strvalue.

REG_UNSUPPORTED

Un type de variable non pris en charge a été trouvé ; la valeur est nulle.

Format 2

RegQueryVariable(hkey as integer, name as string, dummy as string, bufsize as integer, buffer as void) as integer.
hKey

Identifie une clé ouverte ou une clé prédéfinie. Le paramètre hKey peut avoir l'une des valeurs prédéfinies suivantes :

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
name

Identifie le nom de la variable demandée.

factice

Reserved.

bufsize

Taille du tampon de réception en caractères si le tampon est de type chaîne. Dans le cas contraire, le nombre d'octets est spécifié. Il doit s'agir d'une variable. Après un renvoi réussi, il contient le nombre d'octets extraits.

mémoire tampon

Tampon destiné à recevoir la valeur de la variable extraite.

Le type d'entrée du registre est renvoyé en notation Microsoft :

REG_NONE
Valeur 0
REG_SZ

Valeur 1

REG_EXPAND_SZ

Valeur 2

REG_BINARY

Valeur 3

REG_DWORD

Valeur 4

REG_DWORD_LITTLE_ENDIAN

Valeur 5

REG_DWORD_BIG_ENDIAN

Valeur 6

REG_LINK

Valeur 7

REG_MULTI_SZ

Valeur 8

Exemple :

Avant de débuter l'exemple suivant, exécutez l'exemple RegOpenKey.

Dim value as string
Dim hkey1 as integer
Dim name, str, dummy as string
Dim i, i1, rtr, int as integer
Dim bBuf[100] as Byte
Dim cBuf[100] as char

ClrScr()

hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\CA\pour test uniquement")
if hkey1 = 0 then
	Print("Echec de RegOpenKey.")
	quitter
endif

rtr = RegQueryVariable(hkey1, "var_2", str, int)
Print (Str(rtr) + ": var_2 = " + str)
int = 100
str = ""
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, str)
Print (Str(rtr) + ": var_2(" + Str(int) + ") = " + str)
int = 100
str = ""
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, cBuf)
for i1 = 0 to int - 1
	str = str + cBuf[i1]
next i1
Print (Str(rtr) + ": var_2(" + Str(int) + ") = " + str)
int = 100
str = "| "
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, bBuf)
for i1 = 0 to int - 1
	str = str + Str(bBuf[i1]) + " | "
next i1
Print (Str(rtr) + ": var_2(" + Str(int) + ") = " + str)

RegCloseKey(hkey1)