前のトピック: レジストリ操作関数次のトピック: RegCreateKey--レジストリ キーの作成


RegCloseKey - レジストリ キーを閉じる

Windows 上で有効

RegCloseKey 関数は、RegOpenKey または RegCreateKey の呼び出しで取得したハンドルである、hKey パラメータに関連したレジストリ キーを閉じます。

このレジストリ操作関数の形式は、以下のとおりです。

RegCloseKey(hKey as Integer) as Boolean
hkey

レジストリ キーの hKey 値

この関数が正常に終了すると、TRUE が返されます。 この関数が失敗した場合(hKey が有効な開かれたレジストリ キーのハンドルではない場合)、関数によって FALSE が返されます。

例: RegCloseKey 関数

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 = "1234567890sqwertzuiopu+asdfghjkloa#<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