2

如何在注册表中写入 DWORD 十六进制值?而不是十进制值,就像在这个代码示例中一样?

RegistryKey key = Registry.LocalMachine;
key = klase.CreateSubKey(@"SYSTEM\CurrentControlSet\Control\Windows");
key.SetValue("CSDVersion2", "100", RegistryValueKind.DWord);
key.Close(); 

解决办法是!

RegistryKey key = Registry.LocalMachine;
key = klase.CreateSubKey(@"SYSTEM\CurrentControlSet\Control\Windows");
key.SetValue("CSDVersion2", Convert.ToInt32("100", 16), RegistryValueKind.DWord);
key.Close(); 
4

2 回答 2

3

SetValue接受一个对象,所以你可以给它一个普通的 ol' 整数。我会做这样的事情:

key.SetValue("CSDVersion2", 0x100, RegistryValueKind.DWord);

这会将 CSDVersion2 设置为十六进制的 0x100 或十进制的 256。

于 2012-07-19T21:22:25.103 回答
0

使用Convert.ToInt32(...)重载。

string strHexValue = Convert.ToInt32("100", 16).ToString();

基地在哪里16

于 2012-07-19T21:20:21.643 回答