使用 Python 更改注册表中(默认)的值

use*_*249 1 python registry

这是我用来更改注册表中键值的代码:

import winreg

key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, 'AppEvents\\Schemes\\Apps\\.Default\\.Default\\.Current')
winreg.SetValueEx(key, '(Default)', 0, winreg.REG_SZ, '')
key.Close()
Run Code Online (Sandbox Code Playgroud)

我在注册表中的任何键上使用它都没有问题。出于某种原因,如果值 name 是(Default),则上面的代码不起作用。它只是插入另一个具有完全相同名称的值。这看起来很奇怪,因为没有键可以有 2 个同名的值。

我猜这两个名字看起来完全一样,但对于注册表,它们不是同一个名字。不过,我不确定为什么会这样。

Amb*_*ber 7

您在注册表中看到的通常列为(Default)没有名称"(Default)",它根本没有值名称,因为它是默认值。(注册表查看器仅显示文本 (Default) 以指示该值的含义。)您可以传递一个空字符串 ( "") 或可能None作为 的第二个参数SetKeyEx来写入默认值。

  • 只是为了完整性 - 使用空字符串对我有用。没有通过就等于失败。 (3认同)