我可以毫无问题地写入注册表。我的问题是,我正在尝试添加:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetMacroEnabled.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetBinaryMacroEnabled.12]
"BrowserFlags"=dword:80000A00
到注册表。vb.net 中的 DWord 值,当我将它们转换为 Long 或 Decimal 时,表示存在类型不匹配。十进制值为:2147486208。这是 10 个字符长。如果删除 8,它会将适当的十六进制值添加到注册表中,但再次添加 8 会引发超出范围的异常。
我究竟做错了什么?
编辑:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Classes\Excel.SheetMacroEnabled.12", True)
regKey.SetValue("BrowserFlags", 2147486208, RegistryValueKind.DWord)
regKey.Close()
End Sub
回报:
The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted.