Previous Topic: RegEnumVariable - Enumerate the VariablesNext Topic: RegQueryValue - Retrieve a Text String


RegOpenKey - Open a Key

Valid on Windows

The RegOpenKey function opens a specified registry key.

This registry manipulation function has the format:

RegOpenKey(hKey as Integer, subkey as String) as Integer
hKey

Identifies a currently open key or a predefined key. The hKey parameter can have one of the following predefined values:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
subkey

Identifies the key to be opened. Subkey key must be a subkey of the key identified by the hKey parameter. If subkey is an empty string, the function returns the same key as that specified by hKey.

On successful completion, the function returns a handle to the newly opened registry key; otherwise, it returns zero.

Example: RegOpenKey function

Dim hkey1, hkey2, hkey3 as integer

Dim cBuf as string
Dim ccBuf[47] as char
Dim bBuf[100] as byte
Dim i as integer

ClrScr()
for i = 0 to 99
	bBuf[i] = i
next i
cBuf = "1234567890ßqwertzuiopü+asdfghjklöä#<yxcvbnm,.-"
ccBuf = cBuf

hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE")

if hkey1 = 0 then
	Print("RegOpenKey failed.")
	exit
endif

hkey2 = RegCreateKey(hkey1, "CA")
if hkey2 = 0 then
	Print("RegCreateKey 1 failed.")
	exit
endif

if Not(RegSetValue(hkey1, "CA", "GmbH Paderborn - Germany")) then

Print("RegSetValue failed")
endif

hkey3 = RegCreateKey(hkey2, "4 test only")
if hkey3 = 0 then
	Print("RegCreateKey 2 failed.")
	exit
endif

if Not(RegSetVariable(hkey3, "var_1", 123)) then
	Print("RegSetVar 1 failed.")
endif
if Not(RegSetVariable(hkey3, "var_2", "i'm a string")) then
	Print("RegSetVar 2 failed.")
endif
if Not(RegSetVariable(hkey3, "var_3", cBuf, 46)) then
	Print("RegSetVar 3 failed.")
endif
if Not(RegSetVariable(hkey3, "var_4", bBuf, 100)) then

Print("RegSetVar 4 failed.")
endif
if Not(RegSetVariable(hkey3, "var_5", cBuf, 46, REG_SZ)) then
	Print("RegSetVar 5 failed.")
endif
if Not(RegSetVariable(hkey3, "var_6", ccBuf, 46, REG_SZ)) then
	Print("RegSetVar 5 failed.")
endif

if Not(RegCloseKey(hkey3)) then
	Print("RegCloseKey for hkey3 failed.")
endif
if Not(RegCloseKey(hkey2)) then
	Print("RegCloseKey for hkey2 failed.")
endif
if Not(RegCloseKey(hkey1)) then
	Print("RegCloseKey for hkey1 failed.")

endif