我想用程序获取主板、显卡的BIOS ID和序列号,请问有没有现成的源码???
解决方案 »
- 急救!!接收一定量的请求后,socket服务端不能再与客户端建立连接。
- 关于Access 双精度数据类型小数点位数保留问题!!!!~~~
- 关闭程序时调用另一个程序,如何实现?在线等,在线等,急急急!问题解决,马上结贴散分!!!!!!!!!!!!!!
- 我做COM+的时候,明明已经做完了,都开始用了。有时候回头再次打开源代码的时候,比如说我建立了一个"FAYE"用TypeLibrary观看的时候老是
- 为什么使用ADO不能插入记录
- NetUserGetInfo運行結果異常,求解。
- 关于sql语句的问题
- 怎么把db导成dbf会不行呢?下面代码那错了?
- delphi 怎样隐藏系统的鼠标(整个屏幕都看不到)
- 请教ado连接到sql7使用oledb for sql与oledb for odbc的问题
- 关于锁定系统口,和treeview的onclick事件的问题!
- 高分送高手,急急急,如何编写报表金字塔??
我的MSN:[email protected]
Award BIOS:
To get Bios Info ........... Just paste and run. the following code.with Memo1.Lines dobeginAdd('Modal:'+^I+String(Pchar(Ptr($FE061))));Add('CopyRight:'+^I+String(Pchar(Ptr($FE091))));Add('Date:'+^I+String(Pchar(Ptr($FFFF5))));Add('Additional Informacion (serialetc..):'+^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.. MachineTypebeginresult:='(unavailable)';case value of1: 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;
回复人:aiirii(2000-06-22 19:30:00 ) 得0分
读bois的程序:procedure TForm1.Button1Click(Sender: TObject);var data:Smallint;temp:byte;decode,passwd:array [0..9] of char;count,I:integer;begincount:=0;asmmov al,29out $70,almov ah,almov al,28out $70,alin al,$71mov data,axend;while data>0 dobeginif (data<$80) thenbeginpasswd[count]:=char(data);break;endelsebegintemp:=data and $3f;if (temp <= $20) thentemp:=temp or $30;passwd[count]:=char(temp);count:=count+1;data:=data-temp;data:=data shr 2;end;end;i:=0;while (count>=0) dobegindecode[i]:=passwd[count];count:=count-1;i:=i+1;end;showmessage('the CMOS passwd= '+decode);end; 回复人:zxghl(2000-06-22 23:44:00 ) 得50分aiirii的方法通过读取端口获得的结果是 CMOS 参数,这还是不足以作为加密依据。因为口令等数据是会变化的。同硬盘序列号一样。我会随后发一个控件给你,这个控件包含了在win98下读取BIOS、网卡信息的多个功能。 ********************************************另外关于读取BIOS信息,你还不妨试一下以下语句:procedure TForm1.Button1Click(Sender: TObject);varbn, bc, bd, bs: string;begintrybn := String(Pchar(Ptr($FE061)));bc := String(Pchar(Ptr($FE091)));bd := String(Pchar(Ptr($FFFF5)));bs := String(Pchar(Ptr($FEC71)));exceptbn := 'Unsupported';bc := 'Unsupported';bd := 'Unsupported';bs := 'Unsupported';end;showmessage('[BiosName] ' + bn + #13 +'[BiosCopyright] ' + bc + #13 +'[BiosDate] ' + bd + #13 +'[BiosSerial] ' + bs);end; 这段程序在我的三台机器上都通过。另外在一台DOS622机器上,用C语言编写程序读取以上的四个地址都正确,还有直接用DEBUG也可以看到。