zoukankan      html  css  js  c++  java
  • 获取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;

  • 相关阅读:
    继承人人前端笔试题
    【转】ASP.NET应用程序生命周期趣谈
    C#中正则表达式的高级应用
    使用C#导入导出数据到Excel
    Server.Transfer详细解释
    防止刷新重复post提交
    程序只运行一次的方法
    注释很全的抽象工厂(没用简单工厂优化)
    利用反射动态调用类成员C#
    编程经历的一些思考
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631357.html
Copyright © 2011-2022 走看看