C# 将值对象转换为正确的RegistryValueKind
我正在尝试使用代码中的此行编辑注册表中的值:C# 将值对象转换为正确的RegistryValueKind,c#,registry,C#,Registry,我正在尝试使用代码中的此行编辑注册表中的值: dontAskOptions.SetValue("IDS_WARN_GENERAL_WINXP_EOL", 0xffffffff, RegistryValueKind.DWord); 程序抛出一个错误,指出“值对象与指定的注册表ValueKind不匹配,或者对象无法正确转换”。我猜0xFFFFFF不是DWord值。如何正确转换此值?您可能需要使用带符号的int。您可以使用强制转换来转换它 是的,.NETFramework代码没有赢得任何奖项。它明目
dontAskOptions.SetValue("IDS_WARN_GENERAL_WINXP_EOL", 0xffffffff, RegistryValueKind.DWord);
程序抛出一个错误,指出“值对象与指定的注册表ValueKind不匹配,或者对象无法正确转换”。我猜0xFFFFFF不是DWord值。如何正确转换此值?您可能需要使用带符号的int。您可以使用强制转换来转换它
是的,.NETFramework代码没有赢得任何奖项。它明目张胆地假设您传递了一个int,即使您指定了DWord。您可以使用-1代替。
dontAskOptions.SetValue(
"IDS_WARN_GENERAL_WINXP_EOL",
unchecked((int) 0xffffffff),
RegistryValueKind.DWord);