C# 注册表子键双字值

C# Registry Subkey dword value

我正在制作一个程序,查看注册表中的子项是否存在,如果不存在,它将创建一个具有值 (dword) 的子项。正在创建该程序以替换人们(非程序员)必须 运行 执行 .reg 文件才能执行上面列出的内容的 .bat 文件, 对用户来说不是很有吸引力,这就是我制作这个程序的原因。

.reg 文件设置了我想设置为 dword 的键,但该值最后有一个 'c'(这是它的样子):

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"ScheduledInstallTime"=dword:0000000c

我的 C# 代码如下所示:

RegistryKey rk = Registry.LocalMachine.CreateSubKey(Globais.subkeyWU + @"\AU");
rk.SetValue("ScheduledInstallTime", 0000000c, RegistryValueKind.DWord);

问题是 .SetValue 函数不接受值末尾的 c,我的猜测是它只能是数字,因为它是一个 dwrod(不确定),所以,任何人都知道我该怎么做, bsaicly,做同样的事情 .reg 文件在做什么?也许是十六进制值,我不知道如何在 C# 中制作...

不管怎样,这里是关于它在注册表编辑器中的外观的打印屏幕(.reg 文件执行此操作):

无论如何,谢谢!

0000000c 替换为 12

rk.SetValue("ScheduledInstallTime", 12, RegistryValueKind.DWord);

看完我post里的评论后,我可以回答我自己的问题了!

我的问题的解决方案是:

rk.SetValue("ScheduledInstallTime", 0x0000000c, RegistryValueKind.DWord);

rk.SetValue("ScheduledInstallTime", 12, RegistryValueKind.DWord);

因为我试图在注册表中存储一个十六进制值,所以我要么将其转换为十进制,要么键入完整的十六进制值,就像我在上面所做的那样。

感谢您的评论,让我明白并解决了我的问题!