У меня похожая проблема, VB.Net - Программа не может редактировать запись реестра HKEY_Local_Machine, которая была указана в списке, но исправление не помогло мне.Я использую Visual Studio 2017. Я пытаюсь создать портативное приложение, которое будет работать в Windows 7 Professional и Windows 10 Professional.Идея состоит в том, чтобы сбросить последнего зарегистрированного пользователя либо на «Пустое», либо на другого пользователя.Я и мои коллеги должны войти в рядовые компьютеры с повышенной учетной записью, чтобы работать на них, но участник не обращает внимания и приводит к блокировке нашей учетной записи.нам не разрешено использовать групповую политику для исправления этой проблемы, поэтому я пытаюсь сделать это с моим приложением.Я могу вносить изменения через regedit, vbs и командные файлы, но я не могу заставить свою программу в VB2017 работать. Я снял предпочтительный 32-битный флажок и попытался запустить его от имени администратора или другого пользователя с правами администратора. Я получаю ту же ошибку.,,невозможно записать в реестр (реестр HKEY_Local_Machine).Ниже мой код.Любая помощь будет оценена.
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
Dim regVersion64 As Microsoft.Win32.RegistryKey = Microsoft.Win32.RegistryKey.OpenBaseKey _
(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry64).
OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI")
If chkbClearEverything.Checked = True Then
regVersion64.SetValue("LastLoggedOnDisplayName", "")
regVersion64.SetValue("LastLoggedOnSAMUser", "")
regVersion64.SetValue("LastLoggedOnUser", "")
Else
tbd1 = TBLogon.Text
tbs1 = TBsam.Text
tbu1 = TBllu.Text
regVersion64.SetValue("LastLoggedOnDisplayName", tbd1)
regVersion64.SetValue("LastLoggedOnSAMUser", tbs1)
regVersion64.SetValue("LastLoggedOnUser", tbu1)
End If
Dim rvLastLoggedOnDisplayName As String = regVersion64.GetValue("LastLoggedOnDisplayName")
Dim rvLastLoggedOnSANuser As String = regVersion64.GetValue("LastLoggedOnSAMUser")
Dim rvLastLoggedOnUser As String = regVersion64.GetValue("LastLoggedOnUser")
If Not rvLastLoggedOnDisplayName = "" Then
TBLogon.Text = rvLastLoggedOnDisplayName
tbd1 = rvLastLoggedOnDisplayName
End If
If Not rvLastLoggedOnSANuser = "" Then
TBsam.Text = rvLastLoggedOnSANuser
tbs1 = rvLastLoggedOnSANuser
End If
If Not rvLastLoggedOnUser = "" Then
TBllu.Text = rvLastLoggedOnUser
tbu1 = rvLastLoggedOnUser
End If
regVersion64.Close()
End Sub