VB.Net - Программа не может редактировать запись реестра HKEY_Local_Machine - PullRequest
0 голосов
/ 28 ноября 2018

У меня похожая проблема, 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...