# RegDelete

从注册表中删除子键或值.

## 新语法 [v1.1.21+]

    RegDelete, KeyName , ValueName

### 参数

KeyName

  注册表键的全名.

  必须以 HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT 或 HKEY_CURRENT_CONFIG(或这些的缩写如, HKLM) 开始. 要访问远程注册表, 请在前面加上计算机名和冒号(或在 [v1.1.21+], 可用斜杠 / 或 \), 就像在本例中一样: `\\workstation01:HKEY_LOCAL_MACHINE`, 或 [v1.1.21+] `\\workstation01\HKEY_LOCAL_MACHINE`

ValueName

  要删除的值名. 如果省略, 将删除整个 KeyName. 要删除 KeyName 的默认值(即注册表中值名显示为 "(默认)" 的值) -- 请在此参数中使用 `AHK_DEFAULT`.

## 传统语法

过时的: 不推荐在新脚本中使用此语法. 请使用新语法.

    RegDelete, RootKey, SubKey , ValueName

### 参数

RootKey

  必须为 HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT 或 HKEY_CURRENT_CONFIG 的其中一个(或者它们的缩写, 例如 HKLM). 要访问远程注册表, 请在前面加上计算机名和冒号(或在 [v1.1.21+], 可用斜杠 / 或 \), 就像在本例中一样: `\\workstation01:HKEY_LOCAL_MACHINE`, 或 [v1.1.21+] `\\workstation01\HKEY_LOCAL_MACHINE`

SubKey

  子键名 (例如 Software\SomeApplication).

ValueName

  要删除的值名. 如果省略, 将删除整个 SubKey. 要删除 Subkey 的默认值(即注册表中值名显示为"(默认)"的值), 请在此参数中使用 `AHK_DEFAULT`.

## 错误处理

[v1.1.04+]: 此命令失败时会抛出异常. 想了解更多信息, 请参阅运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

A_LastError 被设置为操作系统 GetLastError() 函数返回的结果.

## 备注

警告: 对注册表进行删除操作可能引发潜在的问题, 操作前请三思!

要获取和操作多个注册表键或值, 请考虑使用注册表循环.

关于如何访问远程计算机注册表的详情, 请参阅注册表循环中的备注.

要在 32 位脚本中删除注册表 64 位部分的条目或进行相反的操作, 请使用 SetRegView.

## 相关

RegRead, RegWrite, 注册表循环, SetRegView, IniDelete

## 示例

新语法 vs. 旧语法.

尽管语法不同, 但这两个例子的效果是一样的; 即, 从注册表中删除一个值.

    RegDelete, HKEY_LOCAL_MACHINE\Software\SomeApplication, TestValue

    RegDelete, HKEY_LOCAL_MACHINE, Software\SomeApplication, TestValue

dftg