⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysinfounit.pas

📁 一个功能完美的学生成绩管理系统   使用ACCESS数据库在DATA文件夹中 功能强大
💻 PAS
字号:
unit SysInfoUnit;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  StdCtrls, ExtCtrls, Forms, ComCtrls, FileCtrl,Dialogs;

type
  Tsysinfoform = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Memo1: TMemo;
    Label7: TLabel;
    DriveComboBox1: TDriveComboBox;
    Edit1: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Edit2: TEdit;
    Label11: TLabel;
    Edit3: TEdit;
    procedure TabSheet2Show(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure DriveComboBox1Change(Sender: TObject);
    private
    function getdiskvolserialID(Drivername:string):dword;

  end;

var
  sysinfoform: Tsysinfoform;

implementation

{$R *.DFM}



function Tsysinfoform.getdiskvolserialID(Drivername: string): dword;
var
 dwtemp1,dwtemp2:dword;
 Nresult:pdword;
begin
  new(Nresult);
  getvolumeinformation(pchar(Drivername+':\'),nil,0,nresult,dwtemp1,dwtemp2,nil,0);
  result:=nresult^;
  dispose(nresult);
end;

procedure Tsysinfoform.TabSheet1Show(Sender: TObject);
var computername:pchar;
    size:dword;
begin
 getmem(computername,255);
 size:=255;
 if getcomputername(computername,size) then
 label7.Caption:='计算机名称:'+computername;
 freemem(computername);
end;

procedure Tsysinfoform.TabSheet2Show(Sender: TObject);
var sysinfo:system_info;
begin
 getsysteminfo(sysinfo);
 label1.Caption:='处理器个数:'+inttostr(sysinfo.dwnumberofprocessors)+'个';
 label2.Caption:='活动处理器:'+inttostr(sysinfo.dwactiveprocessormask);
 label3.Caption:='处理器类型:'+inttostr(sysinfo.dwprocessorType);
 label4.Caption:='页面大  小:'+inttostr(sysinfo.dwpagesize);
 label5.Caption:='处理器级别:'+inttostr(sysinfo.wprocessorlevel);
 label6.Caption:='处理器版本:'+inttostr(sysinfo.wprocessorrevision);

end;

procedure Tsysinfoform.TabSheet3Show(Sender: TObject);
var meminfo:memorystatus;
begin
 meminfo.dwLength:=sizeof(memorystatus);
 globalmemorystatus(meminfo);
 with memo1.Lines do
  begin
  Add(inttostr(meminfo.dwMemoryLoad)+'% 的内存在使用');
  add('物理内存共有: '+inttostr(meminfo.dwTotalPhys)+' 字节');
  add('未使用的物理内存有: '+inttostr(meminfo.dwAvailPhys)+' 字节');
  add('交换文件的大小为: '+inttostr(meminfo.dwTotalPageFile)+' 字节');
  add('未使用的交换文件的大小为: '+inttostr(meminfo.dwAvailPageFile)+' 字节');
  add('虚拟内存空间的大小为: '+inttostr(meminfo.dwTotalVirtual)+' 字节');
  add('未使用虚拟内存空间的大小为: '+inttostr(meminfo.dwAvailVirtual)+' 字节');
  end;
end;





procedure Tsysinfoform.DriveComboBox1Change(Sender: TObject);
var sec1,byt1,cl1,cl2:longword;
    drivername:string;
begin
edit1.Text:=inttostr(getdiskvolserialID(DRivecombobox1.Drive));
drivername:=Drivecombobox1.Drive+':';
getdiskfreespace(pchar(drivername),sec1,byt1,cl1,cl2);
cl1:=cl1*sec1*byt1;
cl2:=cl2*sec1*byt1;
edit2.Text:=formatfloat('###,##0',cl2);
edit3.Text:=formatfloat('###,##0',cl1);

end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -