c# - 在虚拟机上获取 CPU ID

标签 c# visual-studio-2010 virtual-machine hardware-id cpuid

我正在尝试使用这段代码:

public string GetCPUId()
{
    string cpuInfo = String.Empty;
    string temp = String.Empty;
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc)
    {
        if (cpuInfo == String.Empty)
        {
            cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
        }
    }
    return cpuInfo;
}

要在 XP 虚拟机 (virtualbox) 上获取硬件 uid,但我只收到一个消息框,上面写着:

Object reference not set to an instance of an object.

是因为是虚拟机还是什么?

最佳答案

是的,那是因为你运行的是虚拟机。 mo.Properties["ProcessorId"] 将返回 null。查看答案 here .

关于c# - 在虚拟机上获取 CPU ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109261/

相关文章:

c# - 如何解码G711音频数据包C#

c - 当 SQLDescribeCol 返回 -8 时,它意味着什么类型?

java - 是否有允许从多个 VM 访问的 Java 进程内数据库?

php - 在 Vagrant 盒子之外连接到 MySQL

docker - 在不使用 docker 机器的情况下部署 docker swarm

c# - 使用 xamarin.forms 跨平台 C# 在设备日历上设置提醒

c# - 如果做两件事,是否可以将 foreach 操作转换为 LINQ?

c# - 带有 nuget 的 MS Build Extension Pack 无法获取 MSBuild.ExtensionPack.tasks

c++ - 应用程序无法正确启动 (0xc0000013)。单击确定关闭应用程序

visual-studio-2010 - 使用visual studio 2010安装