4

我们正在运行 32 位和 64 位的 windows xp pro service pack 3。我们使用 WMI 来获取 BIOS 制造商和型号,但我们更喜欢使用 Win32 API 或汇编语言或 WMI 或 COM 之外的其他方法的方法。代码示例是最受欢迎的。

4

4 回答 4

3

您可以映射到SMBIOS内存并解析它。你想要的大部分信息都在里面。这可以通过任何可以访问系统内存映射原语的语言来完成。

此外,本文档还包含有关可用于查询 SMBIOS 的 Win32 函数的信息。

于 2009-06-12T19:45:19.107 回答
2

它位于 HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System 的注册表中

您有 SystemBiosVersion、SystemBiosDate 等。

此外,还有一个称为 BIOS 的子键,其中包含更多信息,例如 BIOSVendor 和 BIOSVersion。

根据谁构建了系统,您还应该能够获得 BaseBoardManufacturer 和其他很酷的信息。

更新

你可以看看这个链接。这是VB代码。他们尝试从注册表中读取它,但未能成功,只能从内存地址中提取字符串数据。在这种情况下,版本为 &HFE061,日期为 &HFFFF5。

于 2009-06-12T19:48:14.700 回答
0

DmiDecode for Windows可以做到这一点。

于 2009-06-12T21:40:49.080 回答
0

在 codeproject 中有一篇文章,其中包含使用 API 调用 GetSystemFirmwareTable 来检索 SMIBIOS 信息的源代码。链接: http: //www.codeproject.com/KB/system/SMBIOS_Peek.aspx

于 2011-12-07T04:15:44.613 回答