How do I get the BIOS manufacturer and model in C++ without using WMI?
-
13-09-2019 - |
Question
We are running windows xp pro service pack 3 both 32 bit and 64 bit. We are using WMI to get the BIOS manufacturer and model, but we would really prefer an approach that used either the Win32 API or assembly language or something besides WMI or COM. Code samples are most welcome.
Solution
It's in the registry at HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System
You have SystemBiosVersion, SystemBiosDate, etc.
Also, there is a sub key called BIOS which has yet more information such as BIOSVendor and BIOSVersion.
Depending on who built the system you should also be able to get the BaseBoardManufacturer and other cool info.
UPDATE
You might check out this link. It's VB code. They try to read it from the registry, but failing that fall back to pulling string data out of a memory address. In this case it's &HFE061 for the Version and &HFFFF5 for the date.
OTHER TIPS
DmiDecode for Windows can do this.
There is an article in codeproject with source code that use API call GetSystemFirmwareTable to retrieve the SMIBIOS information. link: http://www.codeproject.com/KB/system/SMBIOS_Peek.aspx