Reg.exe kullanmadan Userinit değerini ekleme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C#:
 private void RemoveUserInitValue()
        {
            string keyPath = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon";
            string valueName = "Userinit";
            string valueData = "%SystemRoot%\\System32\\Userinit.exe";

            try
            {
                using (RegistryKey? key = Registry.LocalMachine.OpenSubKey(keyPath, true))
                {
                    if (key != null)
                    {
                        // Check if the value already exists
                        object? currentValue = key.GetValue(valueName);
                        if (currentValue == null || currentValue.ToString() != valueData)
                        {
                            // Create or update the value if it doesn't exist or has different data
                            key.SetValue(valueName, valueData, RegistryValueKind.String);
                            Console.WriteLine("Userinit value successfully added to the registry.");
                        }
                        else
                        {
                            Console.WriteLine("Userinit value already exists in the registry.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Error: Unable to access the registry key.");
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
Böyle bir kod yazdım bir türlü userinit değerini ekleyemiyor.
 
Üye
Katılım
18 Tem 2023
Mesajlar
14
Tepki puanı
1
Yaş
30
2 HİZMET YILI
C#:
private void RemoveUserInitValue()
{
    string keyPath = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon";
    string valueName = "Userinit";
    string valueData = "%SystemRoot%\\System32\\Userinit.exe";

Tentar
    {
usando(RegistryKey? key = Registry.LocalMachine.OpenSubKey(keyPath, true))
        {
if (chave != null)
            {
Verifique se o valor já existe
objeto? currentValue = chave. GetValue(valueName);
if (currentValue != null &&&; currentValue.ToString() == valueData)
                {
Remova o valor, se ele existir
..key. DeleteValue(valueName);
Console.WriteLine("Valor Userinit removido com êxito do registro.");
                }
mais
                {
Console.WriteLine("O valor Userinit não existe no registro.");
                }
            }
mais
            {
Console.WriteLine("Erro: Não é possível acessar a chave do Registro.");
            }
        }
    }
catch (Exceção ex)
    {
Console.WriteLine("Erro: " + ex. Mensagem);
    }
}
[/CÓDIGO]
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C#:
private void RemoveUserInitValue()
{
    string keyPath = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon";
    string valueName = "Userinit";
    string valueData = "%SystemRoot%\\System32\\Userinit.exe";

Tentar
    {
usando(RegistryKey? key = Registry.LocalMachine.OpenSubKey(keyPath, true))
        {
if (chave != null)
            {
Verifique se o valor já existe
objeto? currentValue = chave. GetValue(valueName);
if (currentValue != null &&&; currentValue.ToString() == valueData)
                {
Remova o valor, se ele existir
..key. DeleteValue(valueName);
Console.WriteLine("Valor Userinit removido com êxito do registro.");
                }
mais
                {
Console.WriteLine("O valor Userinit não existe no registro.");
                }
            }
mais
            {
Console.WriteLine("Erro: Não é possível acessar a chave do Registro.");
            }
        }
    }
catch (Exceção ex)
    {
Console.WriteLine("Erro: " + ex. Mensagem);
    }
}
[/CÓDIGO]
It just a translated version.
Post automatically merged:



C#:
private void resetUserinitKey_Click(object sender, EventArgs e)
        {
            RegistryKey resetuserinitkey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true);
            try
            {
                resetuserinitkey.SetValue("Userinit", @"c:\windows\system32\userinit.exe,");
                resetuserinitkey.Dispose();
                ContentDialog dialog = new ContentDialog();
                dialog.Title = "Information";
                dialog.Content = "The Userinit key was successfully reset.";
                dialog.PrimaryButtonText = "OK";
                dialog.DefaultButton = ContentDialogButton.Primary;
                dialog.ShowAsync();
            }
            catch
            {
                ContentDialog dialog = new ContentDialog();
                dialog.Title = "Error";
                dialog.Content = "There was an error resetting the Userinit key. Do I have sufficient permissions?";
                dialog.PrimaryButtonText = "OK";
                dialog.DefaultButton = ContentDialogButton.Primary;
                dialog.ShowAsync();
            }
        }
 
Son düzenleme:
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
Yanlış yere bakıyormuşum düzeldi.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst