获取BIOS信息

procedure TForm1.BiosInfo;  
const  
Subkey: string = ''Hardware\description\system'';  
var  
hkSB: HKEY;  
rType: LongInt;  
ValueSize, OrigSize: Longint;  
ValueBuf: array[0..1000] of char;  
procedure ParseValueBuf(const VersionType: string);  
var  
I, Line: Cardinal;  
S: string;  
begin  
i := 0;  
Line := 0;  
while ValueBuf[i] <> #0 do  
begin  
S := StrPas(@ValueBuf[i]); // move the Pchar into a string  
Inc(Line);  
Memo1.Lines.Append(Format(''%s Line %d = %s'',  
[VersionType, Line, S])); // add it to a Memo  
inc(i, Length(S) + 1);  
// to point to next sz, or to #0 if at  
end  
end;  
end;  

begin  
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(Subkey), 0,  
KEY_READ, hkSB) = ERROR_SUCCESS then  
try  
OrigSize := sizeof(ValueBuf);  
ValueSize := OrigSize;  
rType := REG_MULTI_SZ;  
if RegQueryValueEx(hkSB, ''SystemBiosVersion'', nil, @rType,  
@ValueBuf, @ValueSize) = ERROR_SUCCESS then  
ParseValueBuf(''System BIOS Version'');  

ValueSize := OrigSize;  
rType := REG_SZ;  
if RegQueryValueEx(hkSB, ''SystemBIOSDate'', nil, @rType,  
@ValueBuf, @ValueSize) = ERROR_SUCCESS then  
Memo1.Lines.Append(''System BIOS Date '' + ValueBuf);  

ValueSize := OrigSize;  
rType := REG_MULTI_SZ;  
if RegQueryValueEx(hkSB, ''VideoBiosVersion'', nil, @rType,  
@ValueBuf, @ValueSize) = ERROR_SUCCESS then  
ParseValueBuf(''Video BIOS Version'');  

ValueSize := OrigSize;  
rType := REG_SZ;  
if RegQueryValueEx(hkSB, ''VideoBIOSDate'', nil, @rType,  
@ValueBuf, @ValueSize) = ERROR_SUCCESS then  
Memo1.Lines.Append(''Video BIOS Date '' + ValueBuf);  
finally  
RegCloseKey(hkSB);  
end;  
end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

martian6125

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值