C# 注册表子键双字值

标签 c# set registry dword

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

.reg 文件设置了我想设置为双字的键,但值的末尾有一个“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(不确定),所以,基本上,任何人都知道我该怎么做,做与 .reg 文件相同的事情吗?也许是十六进制值,我不知道如何用 C# 制作的东西...

无论如何,这是一个关于它在 regedit 中的外观的打印屏幕(.reg 文件执行此操作):

enter image description here

无论如何,谢谢!

最佳答案

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

我的问题的解决方案是:

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

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

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

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

关于C# 注册表子键双字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204497/

相关文章:

c# - 如何将 JSON 反序列化为正确类型的对象,而无需事先定义类型?

c# - C#防止创建附加表单

java - 调用所有集合成员的删除方法

php - 在 PHP 中实现注册表模式的可扩展方式?

windows - 安装Wix后,从“添加/删除程序”列表中删除程序

c# - 在 WCF 中返回错误的适当方式

c# - 标签滚动效果

c++ - 如何实现 map 和集合通用的模板?

java - 从对象获取信息(JAVA)

active-directory - 如何从注册表查找 Active Directory 容器