怎样强制删除注册表的项和键值?

【问题】

怎样强制删除注册表的项和键值?

【答案】

RegistryDelete( "HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts", & "Title")

RegistryDelete()
功能删除Windows系统注册库中的一个键或键的某个值。
语法RegistryDelete ( key, valuename )
参数key:string类型,指定键名,将删除该键或删除该键的某个值valuename:string类型,指定要删除的值的名称。如果想删除键、键的值、以及其下的所有子键,那么将该参数指定为空字符串返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
--------------------------------------------------------------------------------

Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)
Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String)

Public Function DeleteKey(lPredefinedKey As Long, sKeyName As String)
If RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hNewKey) <> 0 Then Exit Function
lRetVal = RegDeleteKey(lPredefinedKey, sKeyName)
RegCloseKey (hNewKey)
End Function

Public Function DeleteValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
If RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hNewKey) <> 0 Then Exit Function
lRetVal = RegDeleteValue(hNewKey, sValueName)
RegCloseKey (hNewKey)
End Function

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus