如何更改CPU ID

时间:2019-06-01 17:29:12

标签: c#

我如何更改我的CPU ID,我知道如何获取它,但是我不知道如何更改它,我真的需要帮助。我正在使用此代码:

private string getCPUID()
{
    string cpuInfo = "";
    ManagementClass managClass = new ManagementClass("win32_processor");
    ManagementObjectCollection managCollec = managClass.GetInstances();

    foreach (ManagementObject managObj in managCollec)
    {
        if (cpuInfo == "")
        {
            //Get only the first CPU's ID
            cpuInfo = managObj.Properties["processorID"].Value.ToString();
            break;
        }
    }

    return cpuInfo;
}

2 个答案:

答案 0 :(得分:0)

每个MSDN:

https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-processor

ProcessorId

数据类型:字符串

访问类型:只读

此值来自SMBIOS信息中“处理器信息”结构的“处理器ID”成员。

无法通过c#代码执行此操作。我知道的用例涉及使用某种VM或Hypervisor解决方案,让您可以模拟不同的硬件。有时这对强制在物理硬件而非虚拟机上使用的VPN客户端之类的东西很有帮助。

答案 1 :(得分:-1)

我无法告诉您如何更改CPU ID,因为我认为这不可能,但是我可以告诉您如何编写简洁的代码,

private string getFirstCPUID() =>
    new ManagementClass("win32_processor")
      .GetInstances()
      .FirstOrDefault()?
      .Properties["processorID"]?
      .Value?.ToString();