Vorheriges Thema: RegQueryValue - Abrufen einer TextzeichenfolgeNächstes Thema: RegSetValue - Verknüpfen eines Registrierungsschlüssels mit einer Textzeichenfolge


RegQueryVariable - Abrufen des Typs und Wertes einer Variablen

Gültig für Windows

Die Funktion "RegQueryVariable" ruft den Typ und den Wert der angegebenen Variablen für den angegebenen Registrierungsschlüssel ab.

Diese Registrierungs-Bearbeitungsfunktion hat das folgende Format:

Format 1

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

Gibt einen zurzeit offenen oder einen vordefinierten Schlüssel an. Der Parameter "hKey" kann einen der folgenden vordefinierten Werte aufweisen:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Name

Kennzeichnet den Namen der angeforderten Variable.

strvalue

Gibt den Ausgabeparameter an, der den Zeichenfolgenwert der angeforderten Variablen aufnehmen soll.

intvalue

Gibt den Ausgabeparameter an, der den Ganzzahl-Wert der angeforderten Variablen aufnehmen soll.

Bei erfolgreichem Abschluss gibt die Funktion einen der folgenden Werte zurück:

REG_NODATA

Es wurde keine Variable gefunden. Dies bedeutet, dass die Zugriffsnummer ungültig war.

REG_INTEGER

Es wurde eine Ganzzahlvariable gefunden. Der Wert wird in der Variablen "intvalue" gespeichert.

REG_STRING

Es wurde eine Zeichenfolgenvariable gefunden. Der Wert wird in der Variablen "strvalue" gespeichert.

REG_UNSUPPORTED

Es wurde eine Variable eines nicht unterstützten Typs gefunden, der Wert ist unbesetzt.

Format 2

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

Gibt einen zurzeit offenen oder einen vordefinierten Schlüssel an. Der Parameter "hKey" kann einen der folgenden vordefinierten Werte aufweisen:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Name

Kennzeichnet den Namen der angeforderten Variable.

dummy

Reserviert.

bufsize

Größe des empfangenden Puffers in Zeichen, wenn der Puffer vom Typ "string" ist. Andernfalls wird die Anzahl an Byte angegeben. Muss eine Variable sein. Nach erfolgreichem Abschluss wird die Anzahl der abgerufenen Byte zurückgegeben.

buffer

Der Puffer, der den abgerufenen Wert der Variablen empfangen soll.

Der Typ des Registrierungseintrags wird in Microsoft-Notation zurückgegeben:

REG_NONE
Wert 0
REG_SZ

Wert 1

REG_EXPAND_SZ

Wert 2

REG_BINARY

Wert 3

REG_DWORD

Wert 4

REG_DWORD_LITTLE_ENDIAN

Wert 5

REG_DWORD_BIG_ENDIAN

Wert 6

REG_LINK

Wert 7

REG_MULTI_SZ

Wert 8

Beispiel: Funktion "RegQueryVariable"

Führen Sie vor dem Starten des folgenden Beispiels zunächst das Beispiel für die Funktion "RegOpenKey" aus.

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\4 test only")
if hkey1 = 0 then
	Print("RegOpenKey failed.")
	exit
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)