2

レジストリ DWORD 16 進数値に書き込むにはどうすればよいですか? このコード例のように、10 進数値の代わりに ?

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オブジェクトを取るので、単純な整数を与えることができます。私はこのようなことをします:

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

これにより、CSDVersion2 が 16 進数で 0x100、または 10 進数で 256 に設定されます。

于 2012-07-19T21:22:25.103 に答える
0

Convert.ToInt32(...)オーバーロードを使用します。

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

ベースはどこ16ですか。

于 2012-07-19T21:20:21.643 に答える