网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
Delphi获取硬件信息
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
unit gethardware;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
  Button1: TButton;
  Label1: TLabel;
  Label2: TLabel;
  Label3: TLabel;
  Label4: TLabel;
  procedure Button1Click(Sender: TObject);
private
  { Private declarations }
public
  { Public declarations }
end;
function GetDisplayFrequency: Integer;
function GetIdeSerialNumber: pchar;
function GetCPUSpeed: Double;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=''Current DisplayFrequency:''+inttostr(GetDisplayFrequency)+'' Hz'';
label2.Caption:=''HardDriver SerialNumber:''+strpas(GetIdeSerialNumber);
label4.caption:=''Current CPU Speed:''+floattostr(GetCPUSpeed)+''MHz'';
end;
function GetDisplayFrequency: Integer;
var
DeviceMode: TDeviceMode;
// 这个函数返回的显示刷新率是以Hz为单位的
begin
EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
Result := DeviceMode.dmDisplayFrequency;
end;
//获取第一个IDE硬盘的序列号
function GetIdeSerialNumber : pchar;
const IDENTIFY_BUFFER_SIZE = 512;
type
 TIDERegs = packed record
  bFeaturesReg     : BYTE; // Used for specifying SMART "commands".
  bSectorCountReg  : BYTE; // IDE sector count register
  bSectorNumberReg : BYTE; // IDE sector number register
  bCylLowReg       : BYTE; // IDE low order cylinder value
  bCylHighReg      : BYTE; // IDE high order cylinder value
  bDriveHeadReg    : BYTE; // IDE drive/head register
  bCommandReg      : BYTE; // Actual IDE command.
  bReserved        : BYTE; // reserved for future use.  Must be zero.
end;
TSendCmdInParams = packed record
  // Buffer size in bytes
  cBufferSize  : DWORD;
  // Structure with drive register values.
  irDriveRegs  : TIDERegs;
  // Physical drive number to send command to (0,1,2,3).
  bDriveNumber : BYTE;
  bReserved    : Array[0..2] of Byte;
  dwReserved   : Array[0..3] of DWORD;
  bBuffer      : Array[0..0] of Byte;  // Input buffer.
end;
TIdSector = packed record
  wGenConfig                 : Word;
  wNumCyls                   : Word;
  wReserved                  : Word;
  wNumHeads                  : Word;
  wBytesPerTrack             : Word;
  wBytesPerSector            : Word;
  wSectorsPerTrack           : Word;
  wVendorUnique              : Array[0..2] of Word;
  sSerialNumber              : Ar

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号