2016-02-22 61 views
1

我想嘗試更改網絡設置級別與VB.NETBC30451「RegistryValueKind」未聲明

Public Class Form1 


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim regKey As Microsoft.Win32.RegistryKey 

    regKey = Microsoft.Win32.RegistryKey.OpenBaseKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\", True) 

    regKey.SetValue("2400", 0, RegistryValueKind.DWord) 

End Sub 

End Class 

我得到這個錯誤: BC30451「RegistryValueKind」未聲明。由於其保護級別爲,可能無法訪問。

有沒有解決方案?

+0

您是否想要爲當前用戶或所有用戶更改它。我相信這是你的問題,所有的用戶.... – Codexer

+0

看起來也許你沒有'Microsoft.Win32'的導入,所以也許'Microsoft.Win32.RegistryValueKind.DWord'是你需要的嗎? – Mark

+0

@Mark'Microsoft.Win32.RegistryValueKind.DWord'不是一個有效的命名空間,'RegistryValueKind'是一個枚舉... – Codexer

回答

0

首先,當你運行你的代碼時,你應該在嘗試設置regKey =時拋出一個異常,它的實例不算什麼。試圖使用它時,它會失敗。您的錯誤消息是從不導入的狀態:Import Microsoft.Win32命名空間爲@Mark所提及的。當你實際導入這個命名空間時,你將遇到我上面提到的問題......請參閱下面的解決方案。

試了&測試

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim regKey As Microsoft.Win32.RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\", True) 
    If regKey IsNot Nothing Then regKey.SetValue("2400", 0, RegistryValueKind.DWord) : regKey.Close() 

End Sub 

我可以改變這個背部和第四爲好。在完成之後,請不要忘記Close這個密鑰,在我的代碼中它是這樣做的。