如何获得主板BIOS的序列号

解决方案 »

  1.   

    获取主板Bios信息  
    CoDelphi.com
    摘 要:用Delphi调用Bios的信息
    关键字:BIOS
    类 别:系统控制
     
     
    CoDelphi.com版权所有,未经允许,不得进行任何形式转载
        添加一个Tbutton和一个Tmemo组件到窗体并写如下代码到按钮的OnClick事件:
      with Memo1.Lines do
      begin
        Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061))));
        Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091))));
        Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5))));
        Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71))));
      end; 以上代码在Win9X上运行通过。
      

  2.   

    Award BIOS:
    To get Bios Info ........... Just paste and run. the following code.  with Memo1.Lines do
      begin
        Add('Modal:'+^I+String(Pchar(Ptr($FE061))));
        Add('CopyRight:'+^I+String(Pchar(Ptr($FE091))));
        Add('Date:'+^I+String(Pchar(Ptr($FFFF5))));
        Add('Additional Informacion (serial
    etc..):'+^I+String(Pchar(Ptr($FEC71))));
      end;***************
    //以下函数用以获得计算机BIOS系统信息。
    function GetBios(value: integer): String;
    // 1...Bios Type
    // 2.. Bios Copyright
    // 3.. Bios Date
    // 4.. Bios Extended Info
    // 5.. Bustype
    // 6.. MachineType
    begin
    result:='(unavailable)';
    case value of
    1: result:=String(Pchar(Ptr($FE061)));
    2: result:=String(Pchar(Ptr($FE091)));
    3: result:=String(Pchar(Ptr($FFFF5)));
    4: result:=String(Pchar(Ptr($FEC71)));
    end;
    end;
      

  3.   

    以上方法在NT,Win200行不通,百分百要出错。有没有好一点的办法。
      

  4.   

    编写WDM驱动获取,利用ASM跳到Ring0层执行(见CIH病毒源代码),不介意的话用WMI也可