type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); var i,x,y:integer; ch:char; file://驱动器字符注释:A注释:~注释:Z注释: buffer:string; cpuinfo:TSYSTEMINFO; file://存放系统信息的记录类型,在Windows.pas中查到详细内容。 meminfo:TMemoryStatus; file://存放系统内存信息的记录类型。 computername,username:pchar; file://计算机名称、用户名 spc,bps,nofc,tnoc:longint; file://用于存放磁盘容量的变量 myreg:Tregistry; file://用于访问注册表的TRegistry变量 begin memo1.Lines.Clear;
for ch:=注释:A注释: to 注释:Z注释: do begin i:=getdrivetype(pchar(ch+注释::/注释:)); buffer:=注释: 注释:+ch+注释:: 注释:; case i of DRIVE_UNKNOWN : buffer:=buffer+注释:未知类型注释:; DRIVE_REMOVABLE: buffer:=buffer+注释:软盘注释:; DRIVE_FIXED : begin buffer:=buffer+注释:硬盘注释:; if getdiskfreespace(pchar(ch+注释::/注释:),spc,bps,nofc,tnoc) then begin buffer:=buffer+注释:总容量: 注释:+inttostr((spc*bps*tnoc) div (1024*1024))+注释:MB注释:; buffer:=buffer+注释:剩余: 注释:+inttostr((spc*bps*nofc) div (1024*1024))+注释:MB注释:; end; end; DRIVE_REMOTE : buffer:=buffer+注释:网络驱动器注释:; DRIVE_CDROM :buffer:=buffer+注释:CD-ROM驱动器注释:; DRIVE_RAMDISK:buffer:=buffer+注释:RAM虚拟驱动器注释:; end; if (ch > 注释:D注释:) and (i=1) then break; if i< > 1 then memo1.Lines.Add(buffer); end;
case getkeyboardtype(0) of file://获取键盘类型 1: buffer:=注释: 键盘: IBM PC/XT或兼容类型(83键)注释:; 2: buffer:=注释: 键盘: Olivetti "ICO"(102键)注释:; 3: buffer:=注释: 键盘: IBM PC/AT(84键)注释:; 4: buffer:=注释: 键盘: IBM增强型(101或102键)注释:; 5: buffer:=注释: 键盘: Nokia 1050注释:; 6: buffer:=注释: 键盘: Nokia 9140注释:; 7: buffer:=注释: 键盘: Japanese注释:; end; memo1.lines.add(buffer);
globalmemorystatus(meminfo); file://获取系统内存数量 memo1.lines.add(注释: 物理内存: 注释:+inttostr(meminfo.dwTotalPhys div 1024)+注释: KB注释:);
i:=getsystemmetrics(SM_CLEANBOOT); case i of 0:buffer:=注释:系统启动模式:正常模式注释:; 1:buffer:=注释:系统启动模式:保护模式注释:; 2:buffer:=注释:系统启动模式:网络保护模式注释:; end; memo1.lines.add(buffer);
x:=getsystemmetrics(SM_ARRANGE); file://获取系统最小化窗口的起始位置和排列方式 y:=x; x:=x and 3; y:=y and 12; case x of ARW_BOTTOMLEFT : buffer:=注释: 最小化窗口:自左下角注释:; ARW_BOTTOMRIGHT : buffer:=注释: 最小化窗口:自右下角注释:; ARW_TOPLEFT : buffer:=注释: 最小化窗口:自左上角注释:; ARW_TOPRIGHT : buffer:=注释: 最小化窗口:自右上角注释:; end; case y of ARW_LEFT : buffer:=buffer+注释:横向排列注释:; ARW_UP : buffer:=buffer+注释:纵向排列注释:; ARW_HIDE : buffer:=buffer+注释:隐藏注释:; end; memo1.lines.add(buffer);