최근에 레지스트리에 액세스하는 Visual Studio 2013을 사용하여 시작 파일에 실행 파일을 추가 할 수있는 프로그램을 만들었습니다.응용 프로그램 레지스트리 액세스 문제
'System.Security.SecurityException'형식의 처리되지 않은 예외가 mscorlib.dll에서
추가 정보를 발생 : 메소드/동작 오류를 포함하는 명령을 나타낸다 클릭하면 문제가 요청한 레지스트리 액세스는 허용되지 않습니다.
코드는 내부에 : 레지스트리의 특정 부분에 쓰기 위해
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim regKey As Microsoft.Win32.RegistryKey
Dim keyName As String = txtKeyName.Text
Dim keyValue As String = txtPath.Text
regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
If (regKey.GetValue(keyName)) = Nothing Then
MsgBox("No value found")
regKey.SetValue(keyName, keyValue, Microsoft.Win32.RegistryValueKind.String)
MsgBox("Key " & keyName & " Has been Created")
Else
MsgBox("This Program already exists", vbInformation, "Information")
End If
읽기 또는 쓰기 중에 SecurityException이 발생합니까? –
SecurityException이 발생합니다. >> regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey ("Software \ Microsoft \ Windows \ CurrentVersion \ Run", True) –
Imho가 HKLM에 글을 쓰려면 관리자 선행이 필요합니다. 관리자 권한으로 응용 프로그램을 실행 해 보았습니까 (마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행)? – Jens