前のトピック: RegCreateKey--レジストリ キーの作成次のトピック: RegDeleteValue - レジストリの値の削除


RegDeleteKey - レジストリ キーの削除

Windows 上で有効

RegDeleteKey 関数によって、特定のキーが削除されます。

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

RegDeleteKey(hKey as Integer, subkey as String) as Boolean
hKey

現在開かれているキーまたは事前定義されたキーを示します。すべての Windows プラットフォームで使用可能な事前定義された以下の値を使用できます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
subkey

パラメータで削除するキーの名前を示す文字列を指定します。 サブキーは、hKey によって指定されたキーのサブキーである必要があります。 subkey パラメータに空の文字列は使用できません。

この関数が正常に終了すると、TRUE が返されます。 キーが存在しないか、または現在別のアプリケーションによって開かれている場合、この関数によって FALSE が返されます。

subkeys

Windows 9x では、この関数はすべてのサブキーを削除します。 Windows NT および 2000 では、関数を実行する前にサブキーを個別に削除する必要があります。

例: RegDeleteKey 関数

テスト構造:

HKLM¥

¥ Software

¥ CA

¥ 4 test only

¥ var_6

¥ dummy

Dim hkey1 as integer

ClrScr()


hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE¥CA¥4 test only")
if hkey1 = 0 then
	Print("RegOpenKey failed.")
	exit
endif

if RegDeleteValue(hKey1) then
	Print("RegDeleteValue succeeded.")
else
	Print("RegDeleteValue failed.")
endif

if RegDeleteVariable(hKey1, "var_6") then
	Print("RegDeleteVariable for var_6 succeeded.")
else
	Print("RegDeleteVariable for var_6 failed.")
endif

RegCloseKey(hkey1)

hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE¥CA")

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

if RegDeleteKey(hkey1, "dummy") then
	Print("Key dummy successfully deleted")
else
	Print("Key dummy deletion failed.")
endif

RegCloseKey(hkey1)

Messagebox("Check registry!", "desktop management scripting test")

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

if RegDeleteKey(hkey1, "CA¥4 test only") then
	Print("Key ""CA¥4 test only"" successfully deleted")

else
	Print("Key" "CA¥4 test only" "deletion failed.")
endif

if RegDeleteKey(hkey1, "CA") then
	Print("Key CA successfully deleted")
else
	Print("Key CA deletion failed.")
endif

RegCloseKey(hkey1)