получить уникальный идентификатор машины - PullRequest
32 голосов
/ 05 января 2010

Я хочу получить уникальный неизменяемый идентификатор компьютера, например серийный номер процессора компьютера для распространения программного обеспечения без копирования.

Я пытался использовать серийный номер процессора и серийный номер жесткого диска, которые все меняются после форматирования и переустановки Windows.

Есть идеи, как получить неизменяемый серийный номер компьютера?

Ответы [ 12 ]

0 голосов
/ 05 сентября 2018

Мне известны два возможных пути:

  1. Получить идентификатор процессора системы:

    public string getCPUId()
    {
        string cpuInfo = string.Empty;
        ManagementClass mc = new ManagementClass("win32_processor");
        ManagementObjectCollection moc = mc.GetInstances();
    
        foreach (ManagementObject mo in moc)
        {
            if (cpuInfo == "")
            {
                //Get only the first CPU's ID
                cpuInfo = mo.Properties["processorID"].Value.ToString();
                break;
            }
        }
        return cpuInfo;
    }
    
  2. Получить UUID системы:

    public string getUUID()
    {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName = "CMD.exe";
            startInfo.Arguments = "/C wmic csproduct get UUID";
            process.StartInfo = startInfo;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.Start();
            process.WaitForExit();
            string output = process.StandardOutput.ReadToEnd();
            return output;
    }
    
0 голосов
/ 04 мая 2012

Вы можете попробовать получить некоторую информацию из биоса. Это все еще будет действительным после формата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...