Vorheriges Thema: RegENumKey - Auflisten der Unterschlüssel eines RegistrierungsschlüsselsNächstes Thema: RegOpenKey - Öffnen eines Schlüssels


RegEnumVariable - Auflisten der Variablen

Gültig für Windows

Die Funktion "RegENumVariable" führt die Variablen für den angegebenen Registrierungsschlüssel auf.

Diese Registrierungs-Bearbeitungsfunktion hat das folgende Format:

RegEnumVariable(hKey as Integer, index as Integer, name as String, strvalue as String, intvalue as Integer) as Integer
RegEnumVariable(hkey as integer, index as integer, dummy as string, name 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, auf allen Windows-Plattformen verfügbaren, vordefinierten Werte aufweisen:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
index

Kennzeichnet den Index der zu ermittelnden Variablen. Verwenden Sie für den ersten Aufruf der Funktion null (0).

Name

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

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.

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.

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

REG_NODATA

Wert 0: Es wurde keine Variable gefunden. Dies bedeutet, dass entweder der letzte Index der Aufzählung erreicht wurde oder die Zugriffsnummer ungültig war.

REG_INTEGER

Wert 1: Es wurde eine Variable vom Typ "Integer" (Ganzzahl) gefunden. Der Wert wird in der Variablen intvalue gespeichert.

REG_STRING

Wert 2: Es wurde eine Zeichenfolgenvariable gefunden. Der Wert wird in der Variable "strvalue" gespeichert.

REG_UNSUPPORTED

Wert 3: Es wurde eine Variable eines nicht unterstützten Typs gefunden. Der Wert ist unbesetzt.

Die zweite Variante der Funktion gibt einen Wert in Microsoft-Notation zurück:

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 4

REG_DWORD_BIG_ENDIAN

Wert 5

REG_LINK

Wert 6

REG_MULTI_SZ

Wert 7

Beispiel: Funktion "RegEnumVariable"

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

i = 0
while
	RegEnumKey(hkey1, i, str)
	Print(Str(i) + " - " + str)
	
RegCloseKey(hkey1)

Print " "

hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\CA\4 test only")
if hkey1 = 0 then
	Print("RegOpenKey failed.")
	exit
endif
for i = 0 to 1
	rtr = RegEnumVariable(hKey1, i, name, str, i1)
	if (REG_INTEGER = rtr) then
		Print(Str(rtr) + ": " + Str(i) + " - " + name + " = " + Str(i1))
	else
		if (REG_STRING = rtr) then
			Print(Str(rtr) + ": " + Str(i) + " - " + name + " = " + str)
		else
			Print(Str(rtr) + ": " + "unknown type");
		endif
	endif
next i
i1 = 100
str = ""
rtr = RegEnumVariable(hKey1, 2, name, dummy, i1, bBuf))
for i = 0 to i1 - 1
	str = str + Str(bBuf[i])
next i
Print(Str(rtr) + ": " + "2 - " + name + "(" + Str(i1) + ") = " + str)