Hola Novatin.
Bajo DOS podías obtener esos datos en la dirección 0xFFFF5, pero en win32/64 ya no es posible por que el espacio de direcciones de la bios está protegido por el S.O.
Podes obtener esa información desde el registro de windows:
Código:
#include <registry.hpp>
AnsiString __fastcall GetBiosDate()
{
char *RegPath = "\\HARDWARE\\DESCRIPTION\\System";
AnsiString BiosDate = "";
TRegistry *reg = new TRegistry(KEY_ALL_ACCESS);
reg->RootKey = HKEY_LOCAL_MACHINE;
__try {
if(reg->KeyExists(RegPath)) {
reg->OpenKey(RegPath, false);
BiosDate = reg->ReadString("SystemBiosDate");
}
}
__finally {
reg->CloseKey();
}
delete reg;
return BiosDate;
}
Llamada:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("BIOS Date: " + GetBiosDate());
}
Saludos