将值对象转换为正确的 RegistryValueKind

Converting value object into correct RegistryValueKind

我正在尝试在我的代码中使用这一行来编辑注册表中的值:

dontAskOptions.SetValue("IDS_WARN_GENERAL_WINXP_EOL", 0xffffffff, RegistryValueKind.DWord);

程序抛出一个错误 "the value object did not match the specified RegistryValueKind or the object could not be properly converted"。我猜 0xffffffff 不是 DWord 值。我该如何正确转换它?

您可能需要使用有符号整数。您可以使用 unchecked cast

转换它
dontAskOptions.SetValue(
    "IDS_WARN_GENERAL_WINXP_EOL", 
    unchecked((int) 0xffffffff), 
    RegistryValueKind.DWord);