gpt4 book ai didi

c# - 尝试通过 WMI 获取 CPU ID 时生成 "Not found"异常

转载 作者:行者123 更新时间:2023-12-05 04:18:59 25 4
gpt4 key购买 nike

我正在使用这段代码来获取处理器 ID:

    public static string getProcessorId()
{
var mc = new ManagementClass("Win32_Processor");
var moc = mc.GetInstances();

foreach (var mo in moc)
{
return mo.Properties["ProcessorId"].Value.ToString();
}

return "Unknown";
}

我正在运行 Windows 7 32 位、Visual Studio 2008。不幸的是,mc.GetInstances() 方法调用引发了“未找到”异常。

这是一段类似的代码(获取硬盘序列号):

    public static string getVolumeSerialNumber()
{
var disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}

这段代码也失败了——“disk.Get()”方法引发了一个“无效类”异常。

我在关闭和打开 UAC 的情况下运行了这段代码 - 没有任何帮助。

我做错了什么?

最佳答案

您的 WMI 安装似乎有些损坏,我已经在启用 UAC 的 Windows 7 上测试了您的 getProcessorId 代码,它工作正常。 “Win32_Processor”是一个真正标准的类,应该在那里。

这是一个帮助诊断 WMI 问题的链接:How to check the WMI repository before rebuilding it

关于c# - 尝试通过 WMI 获取 CPU ID 时生成 "Not found"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com