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

📄 viewer.pas

📁 一个很不错的系统信息控件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
          with Add do begin
            Caption:=StructTables[i].Name;
            ImageIndex:=-1;
          end;
      end;
    finally
      EndUpdate;
    end;
  end;
end;

procedure Tmdi_msi_Viewer.DisplayVideoDetail;
begin
  with List, Items do begin
    BeginUpdate;
    try
      Clear;
      with MSIC.Display do begin
        with Add do begin
          Caption:=Format('%s %s',[rsVideo,rsAdapter]);
          SubItems.Add(Format('%s',[Adapter]));
          ImageIndex:=-3;
        end;
        with Add do begin
          Caption:=rsChipset;
          SubItems.Add(Format('%s',[Chipset]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=rsDAC;
          SubItems.Add(Format('%s',[DAC]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=rsMemory;
          SubItems.Add(Format('%d B (%d MB)',[Memory,(Memory div 1024) div 1024]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsBIOS,rsString]);
          SubItems.Add(Format('%s',[BIOSString]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:='';
          ImageIndex:=-2;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsBIOS,rsVersion]);
          SubItems.Add(Format('%s',[BIOSVersion]));
          ImageIndex:=-3;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsBIOS,rsDate]);
          SubItems.Add(Format('%s',[BIOSDate]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:='';
          ImageIndex:=-2;
        end;
        with Add do begin
          Caption:=rsTechnology;
          SubItems.Add(Format('%s',[Technology]));
          ImageIndex:=-3;
        end;
        with Add do begin
          Caption:=rsResolution;
          SubItems.Add(Format('%d x %d - %dbit',[HorzRes,VertRes,ColorDepth]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsPhysical,rsSize]);
          SubItems.Add(Format('(%d x %d) mm',[HorzSize,VertSize]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsPixel,rsWidth]);
          SubItems.Add(Format('%d',[PixelWidth]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsPixel,rsHeight]);
          SubItems.Add(Format('%d',[PixelHeight]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsPixel,rsDiagonal]);
          SubItems.Add(Format('%d',[PixelDiagonal]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=Format('%s %s',[rsFont,rsResolution]);
          SubItems.Add(Format('%d dpi',[FontResolution]));
          ImageIndex:=-1;
        end;
        if {$IFDEF SIS}StorageInfo.OSPlatform{$ELSE}Win32Platform{$ENDIF}=VER_PLATFORM_WIN32_NT then
          with Add do begin
            Caption:=rsVRR;
            SubItems.Add(Format('%d MHz',[VerticalRefreshRate]));
            ImageIndex:=-1;
          end;
      end;
    finally
      EndUpdate;
    end;
  end;
end;


procedure Tmdi_msi_Viewer.DisplayMonitorDetail;
var
  m: string;
begin
  with List, Items do begin
    BeginUpdate;
    try
      Clear;
      with MSIC.Monitor,Monitors[AIndex] do begin
        if {$IFDEF SIS}StorageInfo.OSPlatform{$ELSE}Win32Platform{$ENDIF}=VER_PLATFORM_WIN32_NT then begin
          with Add do begin
            Caption:=rsMonitor;
            SubItems.Add(Format('%s',[Name]));
            ImageIndex:=-3;
          end;
          with Add do begin
            Caption:=Format('%s %s',[rsProduct,rsNumber]);
            SubItems.Add(Format('%s',[ProductNumber]));
            ImageIndex:=-1;
          end;
        end;
        ExpandMON(Monitors[AIndex].Model,m);
        with Add do begin
          Caption:=rsModel;
          SubItems.Add(Format('%s (%s)',[Model,m]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=rsManufacturer;
          SubItems.Add(Manufacturer);
          ImageIndex:=-1;
        end;
        if {$IFDEF SIS}StorageInfo.OSPlatform{$ELSE}Win32Platform{$ENDIF}=VER_PLATFORM_WIN32_NT then begin
          with Add do begin
            Caption:=Format('%s %s',[rsDisplay,rsSize]);
            SubItems.Add(Format('(%d x %d) cm',[Width,Height]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=Format('%s %s',[rsDisplay,rsGamma]);
            SubItems.Add(Format('%1.2f',[Gamma]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=Format('%s',[rsDate]);
            SubItems.Add(Format('%d/%d',[Year,Week]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=Format('%s',[rsSerial]);
            SubItems.Add(Format('%8.8x',[SerialNumber]));
            ImageIndex:=-1;
          end;
        end;
      end;
    finally
      EndUpdate;
    end;
  end;
end;

procedure Tmdi_msi_Viewer.DisplayPhysDriveDetail;
var
  s: string;
begin
  with List, Items do begin
    BeginUpdate;
    try
      Clear;
      with MSIC.Storage.Physical[AIndex] do begin
        with Add do begin
          Caption:=rsModel;
          SubItems.Add(Format('%s',[Model]));
          ImageIndex:=-3;
        end;
        with Add do begin
          Caption:=rsRevision;
          SubItems.Add(Format('%s',[Revision]));
          ImageIndex:=-1;
        end;
        with Add do begin
          Caption:=rsSerial;
          SubItems.Add(Format('%s',[SerialNumber]));
          ImageIndex:=-1;
        end;
        with List.Items.Add do begin
          Caption:='Bus Type';
          SubItems.Add(GetStorageBusTypeStr(BusType));
          ImageIndex:=-3;
        end;
        s:='';
        case DeviceType of
          FILE_DEVICE_CD_ROM: s:='CD-ROM';
          FILE_DEVICE_DVD: s:='DVD';
          FILE_DEVICE_MASS_STORAGE: s:='Mass Storage';
          FILE_DEVICE_TAPE: s:='Tape';
        end;
        if s<>'' then
          with List.Items.Add do begin
            Caption:='Device Type';
            SubItems.Add(s);
          end;
        with List.Items.Add do begin
          Caption:='Media Type';
          SubItems.Add(GetDeviceMediaTypeStr(MediaType));
        end;
        if (DeviceType=FILE_DEVICE_CD_ROM) or (DeviceType=FILE_DEVICE_DVD) then begin
          s:='';
          if Read_CDRW then
            s:=s+'CD-R,';
          if Read_CDR then
            s:=s+'CD-RW,';
          if Read_DVDROM then
            s:=s+'DVD-ROM,';
          if Read_DVDR then
            s:=s+'DVD-R,';
          if Read_DVDRAM then
            s:=s+'DVD-RAM,';
          SetLength(s,Length(s)-1);
          with List.Items.Add do begin
            Caption:='Read Caps';
            SubItems.Add(s);
          end;
          s:='';
          if Write_CDRW then
            s:=s+'CD-R,';
          if Write_CDR then
            s:=s+'CD-RW,';
          if Write_DVDR then
            s:=s+'DVD-R,';
          if Write_DVDRAM then
            s:=s+'DVD-RAM,';
          SetLength(s,Length(s)-1);
          with List.Items.Add do begin
            Caption:='Write Caps';
            SubItems.Add(s);
          end;
        end;
        if HaId>=0 then
          with Add do begin
            Caption:=rsAdapter;
            SubItems.Add(Format('%d',[HaId]));
            ImageIndex:=-1;
          end;
        if Target>=0 then
          with Add do begin
            Caption:=rsTarget;
            SubItems.Add(Format('%d',[Target]));
            ImageIndex:=-1;
          end;
        if Lun>=0 then
          with Add do begin
            Caption:=rsLUN;
            SubItems.Add(Format('%d',[Lun]));
            ImageIndex:=-1;
          end;

        if Temperature>0 then begin
          with Add do begin
            Caption:='';
            ImageIndex:=-2;
          end;
          with List.Items.Add do begin
            Caption:=rsTemperature;
            SubItems.Add(Format('%d癈',[Temperature]));
            ImageIndex:=-3;
          end;
        end;
        if Size>0 then begin
          with Add do begin
            Caption:='';
            ImageIndex:=-2;
          end;
          with Add do begin
            Caption:=rsCapacity;
            SubItems.Add(Format('%d MB',[Size shr 20]));
            ImageIndex:=-3;
          end;
          with Add do begin
            Caption:=rsNumCyls;
            SubItems.Add(Format('%d',[Cylinders]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=rsNumHeads;
            SubItems.Add(Format('%d',[Heads]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=rsSPT;
            SubItems.Add(Format('%d',[SectorsPerTrack]));
            ImageIndex:=-1;
          end;
          with Add do begin
            Caption:=rsBPS;
            SubItems.Add(Format('%d',[BytesPerSector]));
            ImageIndex:=-1;
          end;
        end;
        if ATAVersion<>0 then
          with Add do begin
            ImageIndex:=-2;
          end;
        if ATAVersion<>0 then
          with Add do begin
            Caption:=Format('%s %s',[rsATA,rsVersion]);
            SubItems.Add(Format('%d',[ATAversion]));
            ImageIndex:=-3;
          end;
        if ECCCode<>0 then
          with Add do begin
            Caption:=rsECC;
            SubItems.Add(Format('%d',[ECCCode]));
            ImageIndex:=-1;
          end;
        if CtlBufSize<>0 then
          with Add do begin
            Caption:=rsBuffer;
            SubItems.Add(Format('%d KB',[CtlBufSize shr 10]));
            ImageIndex:=-1;
          end;
        with Add do begin
          ImageIndex:=-2;
        end;
        with Add do begin
          Caption:=Format('%s',[rsSMART]);
          if SMARTSupport then
            SubItems.Add(rsSupported)
          else
            SubItems.Add(Format('%s %s',[rsNOT,rsSupported]));
          ImageIndex:=-3;
        end;
        if SMARTSupport then
          with Add do begin
            Caption:=rsActive;
            SubItems.Add(IntToStr(Integer(SMARTActive)));
            ImageIndex:=-4;
          end;
      end;
    finally
      EndUpdate;
    end;
  end;
end;

procedure Tmdi_msi_Viewer.DisplayWinStorageDetail(AIndex: Integer);
begin
  with List, Items do begin
    BeginUpdate;
    try
      Clear;
      with MSIC.Devices.Devices[AIndex] do begin
        with Add do begin
          Caption:=Format('%s',[rsClass]);
          SubItems.Add(Format('%s',[ClassDesc]));
          ImageIndex:=-3;
        end;
      end;
    finally
      EndUpdate;
    end;
  end;
end;

procedure Tmdi_msi_Viewer.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure Tmdi_msi_Viewer.FormCreate(Sender: TObject);
begin
  {$IFDEF D7PLUS}
  DataPanel.ParentBackground:=False;
  {$ENDIF}
  OverviewIcon.Picture.Icon.Handle:=Application.Icon.Handle;
end;

procedure Tmdi_msi_Viewer.DisplayLogDriveDetail(AIndex: Integer);
var
  b: Integer;
begin
  with List, Items do begin
    BeginUpdate;
    try
      Clear;
      with MSIC.Storage.Logical[AIndex] do begin
        if not(DeviceType in [FILE_DEVICE_CD_ROM,FILE_DEVICE_DVD, FILE_DEVICE_TAPE,FILE_DEVICE_UNKNOWN]) and (Length(Layout)>0) and (LayoutIndex>-1) then begin
          with Add do begin
            Caption:=rsType;
            SubItems.Add(GetPartitionT

⌨️ 快捷键说明

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