質問: Microsoft.Win32.Registry.ClassesRoot.CreateSubKey("aaa"); RegistryKey.SetValue("Attributes", 0xf080004d、Microsoft.Win32.Registry.ValueKind.Dword); RegistryKey.Close(); ``` ### 補足情報(言語/FW/ツール等のバージョンなど) Microsoft Visual Studio Community 2015 Version 14.0.25424.00 Update 3 Microsoft .NET Framework Version 4.6.01038 インストールしているバージョン:Community Visual C# 2015 00322-20000-00000-AA575 Microsoft Visual C# 2015 です。 よろしくお願いします。
回答: RegistryValueKind.DWordを指定すると、書き込むデータをInt32にキャストしようとするみたいです。 ですが、`0xf080004d`はUInt32(4034920525U)として解釈され、Int32へのキャストに失敗します。 ``` Int32 writedata = BitConverter.ToInt32(BitConverter.GetBytes(0xf080004d), 0); rKey.SetValue("Attributes", writedata, Microsoft.Win32.RegistryValueKind.DWord); ``` みたいに一旦Int32にすれば書き込めました。