СообЧа > База Знаний > Программирование > Visual Basic

Вопрос

Как получить список ключей, если известна папка (в реестре), и как стереть ключ в реестре?

Ответ

Чтобы удалить:
' удаляет раздел реестра
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String) As Long
' Hkey ветвь
' lpSubKey название раздела



Чтобы удалить параметр раздела:

Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal Hkey As Long, ByVal lpValueName As String) As Long
' Hkey дескриптор раздела
' lpValueName название параметра


Если есть раздел — открывает его. Но если открыл раздел, надо не забыть его закрыть!

Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
' Hkey ветвь
' lpSubKey название раздела
' phkResult дескриптор раздела (код доступа)


Чтобы закрыть радел реестра:
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
' Hkey — ветвь реестра


Для удаления раздела:
Public Function DeleteKey(ByVal Hkey As Long, ByVal strKey As String)
Dim r As Long
r = RegDeleteKey(Hkey, strKey)


Для удаления параметра:
Public Function DeleteValue(ByVal Hkey As Long, ByVal strPath As String,ByVal strValue As String)
Dim keyhand As Long, r As Long
r = RegOpenKey(Hkey, strPath, keyhand)
r = RegDeleteValue(keyhand, strValue)
r = RegCloseKey(keyhand)



Copyright © 2000-2004 Сообщество Чайников
Контактная информация