0

Основная задача программы - сменить MachineGuid. При выполнении программы выбивает такая ошибка - Exception: В экземпляре объекта не задана ссылка на объект.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Diagnostics;

class MachineGuidChanger { static void Main() { string key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography"; string r = (string)Registry.GetValue(key, "MachineGuid", (object)"default"); Console.WriteLine("Current MachineGuid: " + r); try { StreamWriter sw = new StreamWriter("Backup.txt"); sw.WriteLine("Old MachineGuid: " + r); sw.Close(); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } Guid g = Guid.NewGuid(); try { RegistryKey savKey = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography"); savKey.SetValue("MachineGuid", g); savKey.Close(); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } string newkey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography"; string newr = (string)Registry.GetValue(newkey, "MachineGuid", (object)"default"); Console.WriteLine("New MachineGuid: " + newr); } }

  • 1
    В какой строке - надо догадаться? Позвонил Ванге, сказала, вам нужно собрать приложение под x64 архитектуру, а не под Any CPU. А так же запускать это от имени Администратора. – aepot Oct 09 '22 at 02:15
  • И это не Exception, а NullReferenceException - Console.WriteLine($"{e.GetType().Name}: {e.Message}"); – aepot Oct 09 '22 at 02:22
  • И вот это вот еще надо поменять RegistryKey savKey = Registry.LocalMachine.OpenSubKey(key, true); – aepot Oct 09 '22 at 02:28

0 Answers0