获取BIOS信息_Delphi

  • 内容
  • 评论
  • 相关

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  

http://www.gaodaima.com/?p=65986获取BIOS信息_Delphi

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;

欢迎大家阅读《获取BIOS信息_Delphi》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: 获取BIOS信息_Delphi

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注